ChrisDaHub Geschrieben 15. Mai 2002 Geschrieben 15. Mai 2002 Hallo, kann mir da jemand vielleicht erklären, was ich da falsch gemacht habe?? Option Compare Database Option Explicit Dim strTest As String strTest = InputBox(Prompt:="Bedingung eingeben", Title:="Eingabe") Set db = CurrentDb Set rs = db.OpenRecordset("SELECT SAMPLE.LOT_ID, SAMPLE.SMP_NO, CHARACTERISTIC.CHR_NAME, ATTRIBUTE_TEST.ATS_ERROR_COUNT, SAMPLE.PER_ID, to_char (sample.SMP_DATE,'yyyymmdd') "Tag", to_char (sample.SMP_DATE,'hhmi am') "Zeit", LOT.LOT_START , MAN_ORDER.MOR_TRACK, MAN_ORDER.SYS_ID FROM PDV22.ATTRIBUTE_TEST ATTRIBUTE_TEST, PDV22.CHARACTERISTIC CHARACTERISTIC, PDV22.LOT LOT, PDV22.MAN_ORDER MAN_ORDER, PDV22.SAMPLE SAMPLE WHERE SAMPLE.LOT_ID = LOT.LOT_ID AND MAN_ORDER.SYS_ID = = '" & strTest & "' AND SAMPLE.LOT_ID = ATTRIBUTE_TEST.LOT_ID AND ATTRIBUTE_TEST.SMP_NO = SAMPLE.SMP_NO AND ATTRIBUTE_TEST.CHR_NO = CHARACTERISTIC.CHR_NO AND LOT.MOR_NO = MAN_ORDER.MOR_NO And LOT.LOT_START <= sysdate AND SAMPLE.TTP_CODE=4 order by MAN_ORDER.SYS_ID, MAN_ORDER.MOR_TRACK, CHARACTERISTIC.CHR_NAME, sample.SMP_DATE;) Danke & Gruß Chris;-) Zitieren
Alrik Fassbauer Geschrieben 15. Mai 2002 Geschrieben 15. Mai 2002 Ich versuche gerade, mich da einzilesen. Wenn's übersichtlicher wäre, wäre das einfacher, sich da einzulesen. Vielleicht hast du in diesem Spaghetti-String einfach ein Komma, oder ein Leerzeichen zuviel oder weggelassen ? UPDATE: Du hast geschrieben: Set rs = db.OpenRecordset("SELECT usw. , aber den String nicht mit einem " vor der *abschliessenden* Klammer (gaanz am Ende) abgeschlossen. Könnte es das sein ? Zitieren
ChrisDaHub Geschrieben 15. Mai 2002 Autor Geschrieben 15. Mai 2002 Hmmm ok... Das war es nicht... Jetzt meckert die Kiste nur noch rum wegen dem Teil "Tag" und "Zeit".... Wahrscheinlich muss ich das irgendwie anders lösen. Ich glaube, dass er die "Gänsefüschen" als Ende des Strings ansieht. Kann deshalb mit Tag nix anfangen.... Da gabs doch mal was mit ..." & chr(??) & " Tag " & chr(??) & ".... Jetzt müsste ich nur noch die Zahl vom Gänsefüschen wissen, dann könnte ich das nochmal versuchen... Ist das der ASCII Code? Gruß Chris;-) Zitieren
beebof Geschrieben 15. Mai 2002 Geschrieben 15. Mai 2002 Original geschrieben von ChrisDaHub Da gabs doch mal was mit ..." & chr(??) & " Tag " & chr(??) & ".... Jetzt müsste ich nur noch die Zahl vom Gänsefüschen wissen, dann könnte ich das nochmal versuchen... Ist das der ASCII Code? Gruß Chris;-) ja. isses. dein gänsefüsschen ist glaub ich 34 oder so... weiss ich nich so genau... Zitieren
ChrisDaHub Geschrieben 15. Mai 2002 Autor Geschrieben 15. Mai 2002 Jetzt bringt er schonmal keinen fehler mehr Nur wie bekomm ich das jetzt auf nen Button in einem Formular unter Access 97 ? Wer ist denn da Profi? Gruß Chris Zitieren
JayN Geschrieben 15. Mai 2002 Geschrieben 15. Mai 2002 Button setzten, Rechtsklick drauf, Eigenschaften, Ereignisse, Beim Klicken -> Ereignisprozedur, ... klicken, Code reinkopieren... Gruß JayN P.S. Ich hoffe, ich habe die Frage richtig verstanden.... Zitieren
ChrisDaHub Geschrieben 15. Mai 2002 Autor Geschrieben 15. Mai 2002 HI, Danke für die schnelle Antwort... Hab ich so gemacht wie vorgegeben. Jetzt kommt nur eine Fehlermeldung: Er sagt " Fehler beim Kompilieren: Außerhalb einer Prozedur ungültig!" Dann geht er in den VB-Editor und markiert folgende Stelle: strTest = InputBox("Nach welcher Kundennummer möchten Sie suchen?","Frage") Jetzt verzweifel ich bald..... *heul* Chris Zitieren
hades Geschrieben 15. Mai 2002 Geschrieben 15. Mai 2002 Der Aufruf muss innerhalb einer Prozedur oder Funktion passieren. sub name-der-prozedur (<parameter, falls noetig, hier rein>) <hier deine anweisungen> end sub oder function name-der-funktion (<parameter, falls noetig, hier rein>) as <rueckgabetyp> <hier deine anweisungen> name-der-funktion = <rueckgabewert> end function Die Teile zwischen <> musst du Deinen Anforderungen anpassen;) Zitieren
JayN Geschrieben 16. Mai 2002 Geschrieben 16. Mai 2002 Nachdem Du, die von mir genannten Schritte getan hast, erstellt Access einen Prozedur-Rahmen -> Sub - End Sub. Dazwischen mußt Du Deinen Code einfügen! Zitieren
ChrisDaHub Geschrieben 16. Mai 2002 Autor Geschrieben 16. Mai 2002 OK - Jetzt versucht er wenigstens schon mal was auszuführen.... Jedoch leider nur mit Fehlermeldung. Er sagt, dass ich einen Syntaxfehler gemacht habe. Fehlender Operator in Abfrageausdruck. :confused: Er markiert mir die Stelle, die ich hier blau dargestellt habe: Set rs = db.OpenRecordset("SELECT SAMPLE.LOT_ID, SAMPLE.SMP_NO, CHARACTERISTIC.CHR_NAME, ATTRIBUTE_TEST.ATS_ERROR_COUNT, SAMPLE.PER_ID, to_char (sample.SMP_DATE,'yyyymmdd') " & Chr(34) & "Tag" & Chr(34) & ", to_char (sample.SMP_DATE,'hhmi am') " & Chr(34) & "Zeit" & Chr(34) & ", LOT.LOT_START , MAN_ORDER.MOR_TRACK, MAN_ORDER.SYS_ID FROM PDV22.ATTRIBUTE_TEST ATTRIBUTE_TEST, PDV22.CHARACTERISTIC CHARACTERISTIC, PDV22.LOT LOT, PDV22.MAN_ORDER MAN_ORDER, PDV22.SAMPLE SAMPLE WHERE SAMPLE.LOT_ID = LOT.LOT_ID AND MAN_ORDER.SYS_ID = = '" & strTest & "' AND SAMPLE.LOT_ID = ATTRIBUTE_TEST.LOT_ID AND ATTRIBUTE_TEST.SMP_NO = SAMPLE.SMP_NO AND ATTRIBUTE_TEST.CHR_NO = CHARACTERISTIC.CHR_NO AND LOT.MOR_NO = MAN_ORDER.MOR_NO And LOT.LOT_START <= sysdate AND SAMPLE.TTP_CODE=4 order by MAN_ORDER.SYS_ID, MAN_ORDER.MOR_TRACK, CHARACTERISTIC.CHR_NAME, sample.SMP_DATE;") Ich kann da aber keinen Fehler finden... chris Zitieren
JayN Geschrieben 16. Mai 2002 Geschrieben 16. Mai 2002 Kannst Du die Anweisung nicht ein bißchen formatieren? Einrücken, Großschreibung bei SQL-Befehlen, Kleinschreibung bei Rest? So ist es für mich schwierig mich da einzulesen und einzudenken. Gruß JayN Zitieren
JayN Geschrieben 16. Mai 2002 Geschrieben 16. Mai 2002 to_char (sample.SMP_DATE,'yyyymmdd') Was soll das für ein(e) Befehl/Funktion sein? SQL oder programmintern? Zitieren
JayN Geschrieben 16. Mai 2002 Geschrieben 16. Mai 2002 WHERE SAMPLE.LOT_ID = LOT.LOT_ID AND MAN_ORDER.SYS_ID = = '" & strTest & "' AND SAMPLE.LOT_ID Was sollen die zwei "="-Zeichen? Passt das? Zitieren
ChrisDaHub Geschrieben 16. Mai 2002 Autor Geschrieben 16. Mai 2002 Original geschrieben von JayN to_char (sample.SMP_DATE,'yyyymmdd') Was soll das für ein(e) Befehl/Funktion sein? SQL oder programmintern? Das ist ein SQL-Befehl. Er gibt mir das Datumsfeld im Format "yyyymmdd" zurück. Zitieren
JayN Geschrieben 16. Mai 2002 Geschrieben 16. Mai 2002 Diesen Befehl finde ich in der Access-Hilfe nicht. Sicher, dass er (in dieser Form) in Access existiert? Zitieren
ChrisDaHub Geschrieben 16. Mai 2002 Autor Geschrieben 16. Mai 2002 Naja - mehr oder weniger... Es ist ein SQL-Befehl... Der Befehl soll ja eigentlich von der Oracle Datenbank (AIX Maschine) verarbeitet werden... Wird der nicht einfach so übertragen??? Habs jetzt mal mit "AS" versucht... Das hat er genommen.... Nur jetzt hab ich nen Laufzeitfehler 424...... Mal sehn, ob ich darüber was auf ner TechNet CD von MS finde... Chris;-) Zitieren
Alrik Fassbauer Geschrieben 17. Mai 2002 Geschrieben 17. Mai 2002 Bei diesem "sample" tippe ich eher auf eine gespeicherte Prozedur... ? Zitieren
ChrisDaHub Geschrieben 17. Mai 2002 Autor Geschrieben 17. Mai 2002 Hallo? Könntest du mir bitte genauer erklären, was du damit meinst? Gruß CH Zitieren
tauron Geschrieben 21. Mai 2002 Geschrieben 21. Mai 2002 Moin ! da ich ziemlich viel mit Access mache, dacht ich geb ich mal meinen Senf dazu... zu der Anweisung: to_char (sample.SMP_DATE,'yyyymmdd') " & Chr(34) & "Tag" & Chr(34) & ", ein Problem sind die " Chr(34) " Anweisungen, die funzen nich, lass sie einach weg oder nimm eckige Klammern wenns mehre Worte sind: "select blablub.braselschasel as Tag, ...." bzw. "select blablub.braselschasel as [super Tag],..." das andere Problem ist, daß meines Wissens die " to_char(...) " Anweisung nur unter Oracle funzt, Access kennt die nicht. Um das Datum im "JJJJMMTT" auszugeben fällt mir nur folgendes ein: DateSerial(Year(sample.SMP_DATE),Month(sample.SMP_DATE),Day(sample.SMP_DATE)) AS Tag, (Ich weiss ist lang, vielleicht hat einer ne bessere Idee) der Fehler "Fehlender Operator in Abfrageausdruck" kommt von dieser Stelle: AND MAN_ORDER.SYS_ID = = '" & strTest & "' da ist ein Gleichzeichen zuviel (hat JayN oben schon bemerkt, ich weis nur noch mal drauf hin ) das war es so auf den ersten Blick, hoffe es hilft Dir weiter! gruß Christian ---------------------------------------------------------------------------------- "Schwerer Ausnahmefehler" - wenn das mal ne Ausnahme wär... Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.