Probleme beim Zugriff auf Sql DB

Manii

Mitglied
Hallo!

Ich absolviere zur Zeit mein Praktikum und soll eine Excel-Datei erstellen, welche Daten mit VBA Makros in eine Datenbank schreiben und wieder rauslesen kann.

Momentan arbeite ich an der Verbindung und an einem Nummerngenerator, welcher fortlaufende Nummern auf Knopfdruck ausspucken soll. Brauche dringend Hilfe, da ich weder VBA noch SQL bisher kannte und konnte...

Hier mein Codeansatz:

Code:
Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Public lastNr As String
Public NewNr As String

'
'Als Excel Dokument speichern; Hier wird der Standardpfad + Dateiname festgelegt
'11.07.2007 von Winkler Manuel erstellt
'
Sub save_LS_as_xls()

    Pfad = "C:\Dokumente und Einstellungen\test\Desktop\Projekt\Lieferscheine"
    Dateiname = "Lieferschein" & Range("F6") & ".xls"

    Pfad = Pfad & Dateiname
    Pfad = Application.GetSaveAsFilename(Pfad)

    ThisWorkbook.SaveAs Pfad
    
End Sub

'
'Datenbank-Verbindung (noch im Aufbau)
'11.07.2007 von Winkler Manuel erstellt
'
Option Explicit

Cn As New ADODB.Connection

Sub InitConnectionSQL(Servername As String, DB As String, UserID As String, Password As String)

    Cn.Provider = "BURTSCHERHELEN"            'SQL-Server
    Cn.ConnectionString = "Data Source=" & BURTSCHERHELEN & " User ID=" & Test & " Password=" & "" & _
    " Initial Catalog=" & lieferscheine       'Einstellungen für den Zugriff auf den SQL-Server
  
    Cn.Open                                   'Verbindung herstellen

End Sub

'
'Nummer holen (generieren)
'11.07.2007 von Winkler Manuel erstellt
'
Option Explicit

Cn As New ADODB.Connection
Rs As New ADODB.Recordset

Sub hole_Nummer()

    Dim feld1 As String
    Dim nr1 As Integer
    Dim str1 As String
    NewNr = "07"
    
    Set Rs.ActiveConnection = Cn              'aktive Verbindung zuweisen
    Rs.LockType = adLockOptimistic
    Rs.Source = "Select * From [lieferscheine].[dbo].[Liefersanzeige] ORDER BY nLS DESC " 'ganze Tabelle
    Rs.Open                                   'Tabelle öffnen
  
    Rs.MoveFirst

    lastNr = Rs.Fields("nLS").Value
    nr1 = Right(lastNr, 3)
    nr1 = nr1 + 1
    
    If nr1 < 10 Then
    str1 = "00"
          Else
          If nr1 < 100 Then
          str1 = "0"
                Else
                If nr1 < 1000 Then
                str1 = ""
                      Else
                      If nr1 < 10000 Then
                      str1 = ""
                                Else: str1 = ""
              
                      End If
                End If
          End If
    End If
  
    len1 = Len(Str(nr1))
    str2 = Mid(Str(nr1), 2, len1)
 
    NewNr = "07" + str1 + str2

    MsgBox (NewNr)

    Range("F6") = NewNr

    Rs.Close

End Sub

bin für alles dankbar... bitte bitte helft mir..

lg mani
 

Neue Beiträge

Zurück