1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Unzulässige SQL-Anweisung; 'DELETE', 'INSERT', 'SELECT' oder 'UPDATE' erwartet

Dieses Thema im Forum "Visual Basic 6.0, VBA & VBScript" wurde erstellt von knowledge, 14. Juni 2005.

  1. knowledge

    knowledge Grünschnabel

    Ich hab den folgenden Code aber der ist nicht lauffähig.Die Abfrage läuft wenn man auf eine Schaltfläche anklickt aber dann bekomme ich die Meldung"Unzulässige SQL-Anweisung; 'DELETE', 'INSERT', 'SELECT' oder 'UPDATE' erwartet". Es gibt keine Syntax Fehler in Abfragen,soweit ich die Abfragen kontoliert habe. Brauche eure Hilfe

    Code (Text):
    1.  
    2.  
    3. Function print_pfa(modus As Integer)
    4.  
    5. Dim conn1 As ADODB.Connection, Tab1 As ADODB.Recordset
    6.  
    7. Set conn1 = CurrentProject.Connection
    8. Set Tab1 = New ADODB.Recordset
    9.  
    10. Dim crlf As String
    11. Dim meldung As String
    12. Dim criteria As String
    13. Dim merker1 As Double
    14. Dim merker2 As Double
    15. Dim i As Integer
    16. Dim docname As String
    17.  
    18. crlf = Chr(13) & Chr(10)
    19.  
    20. 'On Error GoTo err_ppfa
    21.  
    22. 'Prüfung der Anzahl Fehlerkataloge pro Prozeßschritt, Cancel der Kalkulation
    23. 'und Ausgabe des Hinweistextes
    24. meldung = "In einem Prozeßschritt sind Fertigungsprozesse mit" & crlf
    25. meldung = meldung & "unterschiedlichen Fehlerkatalogen aufgeführt. Dies" & crlf
    26. meldung = meldung & "ist nicht zulässig. Unter einem Prozesschritt dürfen" & crlf
    27. meldung = meldung & "nur Prozesse mit gleichen Fehlerkatalogen zusammen-" & crlf
    28. meldung = meldung & "gefasst werden! Die Berechnung wird abgebrochen."
    29. 'Tab1.Open "FSK) PFA Prüfen Anz Fkat In PS 2 ", conn1, adOpenDynamic
    30. Tab1.Open "[FSK) PFA Prüfen Anz Fkat In PS 2]", conn1, adOpenKeyset, adCmdTable
    31. ' Set Tab1 = DB1.OpenRecordset("FSK) PFA Prüfen Anz Fkat in PS 2", DB_OPEN_DYNASET)
    32.  
    33. merker1 = False
    34. criteria = "[GP_NR]=" & Me!GP_NR
    35. Tab1.MoveFirst
    36.  ' FindFirst Implementation
    37. Tab1.Find criteria, 0, adSearchForward
    38. Do
    39.   If Tab1("AnzFKAT") > 1 Then merker1 = True
    40.  
    41.   ' FindNext Implementation
    42.   Tab1.Find criteria, 1, adSearchForward
    43. Loop Until Tab1.EOF = True
    44. Tab1.Close
    45. If merker1 = True Then
    46.   merker1 = MsgBox(meldung, vbExclamation, "Berechnung abgebrochen")
    47.   Exit Function
    48. End If
    49.  
    50.  
    51. 'FSK) DUMMY PFA Zusammenfassung 1 löschen und mit berechneten Daten neu füllen
    52. DoCmd.SetWarnings False
    53. DoCmd.RunSQL "DELETE * FROM [FSK) DUMMY PFA Zusammenfassung 1]"
    54. DoCmd.RunSQL "DELETE * FROM [FSK) DUMMY PFA PS-Relvals]"
    55. DoCmd.OpenQuery ("FSK) PFA Zusammenfassung 1 anfügen")
    56. DoCmd.SetWarnings True
    57.  
    58. 'Übertragung der Fehlernummer und des Fehlertextes vom Prozeßschritt auf
    59. 'die Felder für Gesamtprozeß (von PS_FNR auf GP_FNR und PS_FTXT auf GP_FTXT)
    60. 'Nur die Felder GP_FNR und GP_FTXT werden für die weitere Verarbeitung angewendet
    61. Tab1.Open "FSK) DUMMY PFA Zusammenfassung 1 ", conn1, adOpenKeyset
    62.  
    63. ' Set Tab1 = DB1.OpenRecordset("FSK) DUMMY PFA Zusammenfassung 1", DB_OPEN_DYNASET)
    64. Tab1.MoveFirst
    65. Do
    66.  ' Tab1.Edit
    67.   Tab1("GP_FNR") = Tab1("PS_FNR")
    68.   Tab1("GP_FTXT") = Tab1("PS_FTXT")
    69.   Tab1.Update
    70.   Tab1.MoveNext
    71. Loop Until Tab1.EOF
    72. Tab1.Close
    73.  
    74. 'Berechnung der Korrekturwerte für die Umrechnung der einzelnen rel. Fehleranteile vom
    75. 'Prozeßschritt auf den rel. Anteil in Bezug auf den Gesamtprozeß
    76. DoCmd.SetWarnings False
    77. DoCmd.OpenQuery ("FSK) PFA PS-relvals anfügen")
    78. DoCmd.SetWarnings True
    79. Set conn1 = CurrentProject.Connection
    80.  
    81. Tab1.Open "FSK) DUMMY PFA PS-Relvals ", conn1, adOpenDynamic, adLockOptimistic
    82. ' Set Tab1 = DB1.OpenRecordset("FSK) DUMMY PFA PS-Relvals", DB_OPEN_DYNASET)
    83. Tab1.MoveFirst
    84. ' Tab1.Edit
    85. Tab1("PS_KORRVAL") = 1
    86. merker1 = 1
    87. merker2 = Tab1("PS_REL_IO_GES")
    88. Tab1.Update
    89. Tab1.MoveNext
    90. Do While Not Tab1.EOF
    91.   ' Tab1.Edit
    92.   Tab1("PS_KORRVAL") = merker1 * merker2
    93.   merker1 = Tab1("PS_REL_IO_GES")
    94.   merker2 = Tab1("PS_KORRVAL")
    95.   Tab1.Update
    96.   Tab1.MoveNext
    97. Loop
    98. Tab1.Close
    99.  
    100. 'Anwendung der Korrekturwerte auf die relwerte der Einzelfehler
    101. DoCmd.SetWarnings False
    102. DoCmd.OpenQuery ("FSK) PFA KORRVAL anwenden")
    103. DoCmd.SetWarnings True
    104.  
    105.  
    106. 'Erzeugen der 0-Säulenwerte für die Darstellung eines Paretodiagrammes
    107. Set conn1 = CurrentProject.Connection
    108.  
    109. Tab1.Open "FSK) PFA Source f gen 0-Säule ", conn1, adOpenDynamic, adLockOptimistic
    110. ' Set Tab1 = DB1.OpenRecordset("FSK) PFA Source f gen 0-Säule", DB_OPEN_DYNASET)
    111. Tab1.MoveFirst
    112. ' Tab1.Edit
    113. Tab1("0-Säule") = 0
    114. merker1 = 0
    115. merker2 = Tab1("GP_REL_NIO_EZF")
    116. Tab1.Update
    117. Tab1.MoveNext
    118. Do
    119.   ' Tab1.Edit
    120.   Tab1("0-Säule") = merker1 + merker2
    121.   merker1 = Tab1("0-Säule")
    122.   merker2 = Tab1("GP_REL_NIO_EZF")
    123.   Tab1.Update
    124.   Tab1.MoveNext
    125. Loop Until Tab1.EOF
    126. Tab1.Close
    127.  
    128. 'Bericht anzeigen oder drucken
    129. docname = "FSK) PFA Paretoanalyse Fehler aus Zeitraum"
    130. If modus = True Then
    131.   For i = 1 To Me!anz_kopien
    132.     DoCmd.OpenReport docname, acViewDesign
    133.     DoCmd.OpenReport docname, A_NORMAL
    134.   Next i
    135. Else
    136.   DoCmd.OpenReport docname, acViewDesign
    137.   DoCmd.OpenReport docname, A_PREVIEW
    138. End If
    139.  
    140.  
    141.  
    142. exit_ppfa:
    143.     Exit Function
    144.  
    145. err_ppfa:
    146.     MsgBox Err & Error$
    147.     Resume exit_ppfa
    148.    
    149. End Function
    150.  
    151.  
    152.  
  2. spirit

    spirit Erfahrenes Mitglied

    Hallo

    Code (Text):
    1.  
    2. Tab1.Open "[FSK) PFA Prüfen Anz Fkat In PS 2]", conn1, adOpenKeyset, adCmdTable
    3.  
    Was soll das sein Das sieht nach allem aus, aber nicht nach SQL.. Was soll diese Code bewirken.

    Die Fehlermeldung ist logisch: Entweder du holst etwas aus der Datenbank (SELECT) oder du schreibst etwas(INSERT) oder du aktualisierst etwas(UPDATE).
  3. knowledge

    knowledge Grünschnabel

    Ja Ich habe auch das Problem wie du. Ich konvertier die Datenbank aber die ältere Version hat eine andere Person entworfen. Mich stören auch die Namen der Tabellen und Abfragen sehr weil die nicht logischer sind aber....... Übrigens das teil von Code was du gepostet hast, dabei handelt es sich um eine Abfrage.

Diese Seite empfehlen