Zufälliger Artikel

Problemstellung:

Will man SQL-Strings in VBA verwenden und im Kriterium kommen Datumsangaben vor
müssen diese in einem spieziellen Format dem SQL-String übergeben werden.

Im Abfrage-Editor macht das Access automatisch:

SELECT tbl_Fahrtdaten.ID_Fahrt_IST, tbl_Fahrtdaten.Datum_IST FROM tbl_Fahrtdaten WHERE (((tbl_Fahrtdaten.Datum_IST)=#4/11/2018#));

In VBA muss das Datum aber manuell formatiert werrden.
z.B.

Format("10.04.2018", "\#mm\/dd\/yyyy#\")
Mit einer kleinen Function kann dies etwas vereinfacht werden:
 
Function Sqldatum(dateDatum As Date)
    Sqldatum = Format(dateDatum, "\#mm\/dd\/yyyy#\")
End Function
Aufruf z.B.:
sSQL = "SELECT tbl_Fahrtdaten.Datum_IST, tbl_Stammdaten.FahrtNr, tbl_Fahrtdaten.An_IST " & _
        "FROM tbl_Fahrtdaten INNER JOIN tbl_Stammdaten ON tbl_Fahrtdaten.ID_FahrtNr_IST = tbl_Stammdaten.ID_Fahrt " & _
        "WHERE (((tbl_Fahrtdaten.Datum_IST) Between " & Sqldatum(dtFirstDay) & " And " & Sqldatum(dtLastDay) & ") " & _
        "AND ((IIf([Ausfall]=0,Null,1)) Is Null) And [FF_Ziel]=1) " & _
        "ORDER BY tbl_Fahrtdaten.Datum_IST, tbl_Fahrtdaten.An_IST;"
 
Hier werden dem SQL-String 2 Variablen mit einem Datum übergeben. Diese beiden Variablen werden im SQL-Code mittels der Sqldatum-Function formatiert

Home

1 1 1 1 1 1 1 1 1 1 Rating 0.00 (0 Votes)

Problemstellung:

Wie kann ich eine Neue Datenbank mittels ADO(X) erstellen?


Verweis auf die Microsoft ActiveX Data Objects 2.X Library erforderlich
Verweis auf die Microsoft ADO Ext. 2.X for DDL and Security Library erforderlich

 

Public Sub CreateNewADOX_DB(strDBPathName As String, Optional strPWD As String = "")
'*******************************************
'Name:      CreateNewADOX_DB   (Sub)
'Purpose:   erstellt ein neue DB mittels ADOX
'Author:    Tommyk
'Date:      März 02, 2004, 03:52:24
'Inputs:    strDBPathName=Name und Pfad der neuen DB,strPWD=DB-Passwort
'Output:
'*******************************************
On Error GoTo ErrHandler
Dim cat As New ADOX.Catalog
Dim strCat As String
    strCat = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPathName & ";"
    
    If strPWD = "" Then
        strCat = strCat
    Else
        strCat = strCat & "Jet OLEDB:Database Password=" & strPWD & ";"
    End If
    
    cat.Create strCat
    
Set cat = Nothing
ExitHere:
    Exit Sub
ErrHandler:
    Dim strErrString As String
    strErrString = "Error Information..." & vbCrLf
    strErrString = strErrString & "Error#: " & Err.Number & vbCrLf
    strErrString = strErrString & "Description: " & Err.Description
    MsgBox strErrString, vbCritical + vbOKOnly, "Error in Sub: CreateNewADOX_DB"
    Resume ExitHere
End Sub

Aufruf:

Call CreateNewADOX_DB("D:\Ado_2.mdb", "test")

 

Erstellt in im Ordner "D:\" eine neue DB "Ado_2.mdb" mit dem DB-Kennwort "test"

Ähnliche Artikel

Kommentar schreiben

Sicherheitscode
Aktualisieren

Login Form

1.png1.png9.png1.png3.png6.png8.png
Heute19
Gestern75
Diese Woche417
Dieser Monat1301
Total1191368

  • IP: 54.81.71.187
  • Browser: Unknown
  • Version:
  • OS: Unknown

Online

1
Online

21. April 2018