02.08.2018, 14:43
(Dieser Beitrag wurde zuletzt bearbeitet: 02.08.2018, 16:30 von WillWissen.
Bearbeitungsgrund: Codetags
)
Hallo zusammen,
ich bräuchte mal eure Hilfe,
wer sieht in diesem Code den Fehler,
es werden alle Kriterien zusammen gestellt, aber an oRs wird nichts übergeben.
ich bräuchte mal eure Hilfe,
wer sieht in diesem Code den Fehler,
es werden alle Kriterien zusammen gestellt, aber an oRs wird nichts übergeben.
Code:
Private Sub cboKundenSuchen_Click()
On Error GoTo Err_cboKundenSuchen_Click
' Erstelle eine WHERE-Klausel, unter Verwendung der Suchkriterien,
' die der Benutzer eingegeben hat, und stelle die Eigenschaft "Datenherkunft"
' der MSFlex und der MSGrid Elemente" ein.
Screen.MousePointer = vbHourglass 'Mauszeiger verändern
'####
Dim oCN As Object
Dim oRS As Object
Dim sCS As String
Dim sPfad As String
Set oCN = CreateObject("ADODB.Connection")
Set oRS = CreateObject("ADODB.Recordset")
sPfad = ActiveWorkbook.FullName
''''für xlsx-Dateien
'''sCS = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & sPfad & _
''' ";Extended Properties=""Excel 12.0 Xml;HDR=YES"";"
'für xlsm-Dateien
sCS = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & sPfad & _
";Extended Properties=""Excel 12.0 Macro;HDR=YES"";"
'####
Dim MySQL As String, MyCriteria As String, MyRecordSource As String
Dim ArgCount As Integer
Dim intCounter As Integer
Dim tmp As Variant
Dim strQuery As String
' Initialisiere die Argumentenzahl.
ArgCount = 0
' Initialisiere die SELECT-Anweisung.
MySQL = "Select [Datum],[KW],[Jahr],[Monat],[Tonnage_1Schicht],[Mitarbeiter_1Schicht] From [Data$]WHERE "
MyCriteria = ""
' Verwenden der in die Textfelder im Formularkopf eingegebenen Werte,
' zum Erstellen von Kriterien für die WHERE-Klausel.
AddToWhere [SuchKW], "[KW]", MyCriteria, ArgCount
AddToWhere [SuchMonat], "[Monat]", MyCriteria, ArgCount
AddToWhere [SuchMitarbeiter], "[Mitarbeiter_1Schicht]", MyCriteria, ArgCount
' Falls kein Kriterium spezifiziert wurde, gebe alle Datensätze zurück.
If MyCriteria = "" Then
MyCriteria = "True"
End If
'Erstelle die SELECT-Anweisung.
MyRecordSource = MySQL & MyCriteria
'###### hier vermute ich den Fehler, finde in aber nicht ############
oCN.Open sCS
oRS.Source = MyRecordSource
oRS.ActiveConnection = oCN
oRS.Open
'###########################################
Worksheets("Ergebnis").Activate
ActiveSheet.Cells.ClearContents
ActiveSheet.Range("A2").CopyFromRecordset oRS
Kopfzeile oRS
'ActiveSheet.Range("A2").CopyFromRecordset oRS
oRS.Close
oCN.Close
Set oRS = Nothing
Set oCN = Nothing
Screen.MousePointer = vbDefault
Exit_cboKundenSuchen_Click:
Exit Sub
Err_cboKundenSuchen_Click:
'Fehler abfangen, wenn kein Kriterium ausgewählt wurde
'MsgBox "Achtung: Sie müssen mindestens ein Kriterium eingeben!", 48, "Sie haben etwas vergessen"
Resume Next
End Sub