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 Mitglied

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

    spirit Erfahrenes Mitglied

    Hallo

    Code (Text):
    1. Tab1.Open "[FSK) PFA Prüfen Anz Fkat In PS 2]", conn1, adOpenKeyset, adCmdTable
    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 Mitglied

    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.