Jump to content
Abschaltung Forum zum 03.01.2024 ×

Buchungszeiten per SQL auslesen


Empfohlene Beiträge

Hallo, zusammen,

 

ich möchte gerne aus Microsoft Access heraus auf die Datenbank zugreifen. Es gibt ja auch einen Connector für SQL Server - welche Zugangsdaten muss ich eingeben, um Tabellen auslesen zu könenn?

 

Hat jemand sowas schon mal gemacht?

 

Danke und Gruß,

Martin

 

OK habe es selbst hinbekommen. Man installiert den ODBC SQL Server Client 11.0 und erstellt eine System-DSN. Als Ziel wählt man den Server aus und die Datennbank TIMECOLL.

 

Wenn das Einrichten der DSN fehlschlägt, liegt das meist an den Windows-Firewall-Einstellungen des Rechners, auf dem der Server läuft. Bei mit hat es geklappt, den TCP Port 1433 freizugeben und dem Programm C:\Programme\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Binn\Sqlservr.exe zu erlauben, durch die Firewall zu kommunizieren (genauer Pfad kann abweichen).

 

Hier dann eine Beispielprozedur, die zu einer bestimmten Ausweisnummer die Buchungen in einem Zeitraum sucht. Aufruf: buchungenholen 116879,cdate ("04.01.2017 0:00"),cdate("04.01.2017 23:59")

 

Sub buchungenHolen(ausweisnummer As Long, von As Date, bis As Date)

 

    Dim rsPERSON As DAO.Recordset

    Dim rsMITARBEITER As DAO.Recordset

    Dim rsBUCHUNG As DAO.Recordset

    

    Set rsPERSON = CurrentDb.OpenRecordset("SELECT * FROM dbo_PERSON WHERE AUSWEISNUMMER = " & ausweisnummer, dbOpenDynaset, dbSeeChanges)

    If rsPERSON.RecordCount = 0 Then

        Debug.Print "Mitarbeiter nicht gefunden"

    Else

        Set rsMITARBEITER = CurrentDb.OpenRecordset("SELECT * FROM dbo_MITARBEITER WHERE KEY_PERSON = " & rsPERSON!pk_person, dbOpenDynaset, dbSeeChanges)

        If rsMITARBEITER.RecordCount = 0 Then

            Debug.Print "Mitarbeiter-Key nicht gefunden"

        Else

            Set rsBUCHUNG = CurrentDb.OpenRecordset("SELECT * FROM dbo_BUCHUNG WHERE KEY_MITARBEITER = " & rsMITARBEITER!PK_MITARBEITER & " AND BUCHUNGSZEIT >= " & Format(von, "\#yyyy\-mm\-dd\ hh:nn:ss#") & " AND BUCHUNGSZEIT <= " & Format(bis, "\#yyyy\-mm\-dd\ hh:nn:ss#") & " ORDER BY BUCHUNGSZEIT", dbOpenDynaset, dbSeeChanges)

            If rsBUCHUNG.RecordCount = 0 Then

                Debug.Print "Keine Buchungen gefunden"

            Else

                Do While Not rsBUCHUNG.EOF

                    Select Case rsBUCHUNG!KEY_BUCHUNGSART

                        Case 359: Debug.Print rsBUCHUNG!buchungszeit & " KOMMEN"

                        Case 360: Debug.Print rsBUCHUNG!buchungszeit & " GEHEN"

                        Case Else:

                    End Select

                    

                    rsBUCHUNG.MoveNext

                Loop

            End If

        End If

    End If

 

End Sub

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

×
×
  • Neu erstellen...

Wichtige Information

Diese Website verwendet Cookies – nähere Informationen dazu und zu Ihren Rechten als Benutzer finden Sie in unserer Datenschutzerklärung am Ende der Seite. Klicken Sie auf „Ich stimme zu“, um Cookies zu akzeptieren und direkt unsere Website besuchen zu können.