tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
12
ZUGRIFFE
1187
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Airmexx Tutorials.de Gastzugang
    Sorry, das ich wieder mein problem hier posten muss...

    habe folgenden SQL befehl
    Code vb:
    1
    2
    3
    
            sqlid = ("SELECT ID_urlaub FROM tbl_azubi_urlaub WHERE '(urlaub_von = " & txtvon & " AND urlaub_bis = " & txtbis & " AND Personalnummer = " & sqlper & ")'")
            Set rec3 = CurrentDb.OpenRecordset(sqlid, dbOpenSnapshot)
            idurlaub = rec3.Fields("ID_urlaub")

    meine tabelle ID_urlaub hat folgenden auf bau:
    ID_urlaub, Personalnummer, urlaub_von, urlaub_bis, Bemerkungen

    das problem ist jetzt, das wenn mehrere einträge vorhanden sind, mit (natürlich) unterschiedlichen ID´s, nimmt er immer die erste ID, obwohl das Datum überall verschieden ist

    danke...
     

  2. #2
    Steiner_B Steiner_B ist offline Mitglied Platin
    Registriert seit
    Mar 2004
    Ort
    Wien
    Beiträge
    573
    Hatten wir die selbe Anfrage heute nicht schon mal in nem anderen Thread?
    Selbes Problem wie dort schon besprochen. Du darst bei den Klammern vom WHERE keine ' setzen.
     

  3. #3
    airmexx Tutorials.de Gastzugang
    leider nicht.
    von den stand von heute morgen, hätte ich das so geschrieben.
    Code vb:
    1
    
    sqlid = ("SELECT ID_urlaub FROM tbl_azubi_urlaub WHERE '(urlaub_von = '" & txtvon & "' AND urlaub_bis = '" & txtbis & "' AND Personalnummer = '" & sqlper & "')'")

    Code vb:
    1
    
    sqlid = ("SELECT ID_urlaub FROM tbl_azubi_urlaub WHERE '(urlaub_von = " & txtvon & " AND urlaub_bis = " & txtbis & " AND Personalnummer = " & sqlper & ")'")

    so wie es jetzt da steht ist es schon fast richtig, aber irgendwas an meiner logik in select muss falsch sein zb. in meiner tabelle hab ich folgende datensätze:
    ID_urlaub Personalnummer urlaub_von urlaub_bis Bemerkungen
    144 0000 23.01.... 24.01.....
    145 ...........................
    146............................
    147...........................

    aber alle datum´s sind verschieden, und wenn ich die abfrage auf zb. 146 machen will bekomme ich immer die 144
     

  4. #4
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Ich hab mal mein Tutroial zur Fehlersuche für VBA und MS Access angepasst.
    VBA/MS Access Query Debug
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  5. #5
    Steiner_B Steiner_B ist offline Mitglied Platin
    Registriert seit
    Mar 2004
    Ort
    Wien
    Beiträge
    573
    Gib mal den kompletten SQL-String aus. Dann nimm ihn und schick ihn in Access in den Abfrageeditor. Geht er dort?
     

  6. #6
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Zitat Zitat von Steiner_B Beitrag anzeigen
    Gib mal den kompletten SQL-String aus. Dann nimm ihn und schick ihn in Access in den Abfrageeditor. Geht er dort?
    Genau mein Tutorial *g*.....
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  7. #7
    Steiner_B Steiner_B ist offline Mitglied Platin
    Registriert seit
    Mar 2004
    Ort
    Wien
    Beiträge
    573
    Wenn du schon dabei bist: Poste den SQL-String auch hier bitte.

    @yaslaw: Ist ja auch die einzige sinnvolle Variante
     

  8. #8
    airmexx Tutorials.de Gastzugang
    ja er funktioniert dort, ich bekomme aber mehrere id´s angezeit

    SELECT ID_urlaub FROM tbl_azubi_urlaub WHERE '(urlaub_von = 08.07.2010 AND urlaub_bis = 23.07.2010 AND Personalnummer = 503524)'

    aber ist die abfrage nicht eindeutig genug?
    irgendwie guckt er nach personalnummer wie es aussieht, aber nicht nach den daten(datum´s)
     

  9. #9
    Steiner_B Steiner_B ist offline Mitglied Platin
    Registriert seit
    Mar 2004
    Ort
    Wien
    Beiträge
    573
    So ich hab jetzt deine Datenbank schnell nachgebaut und probiert. Ich seh nur meinen ersten Post bestätigt: Nimm die ' bei '( und )' heraus und es wird gehen. Immer wenn du ' ' verwendest wird der Inhalt zwischen den Hochkommas nicht vom SQL-Parser interpretiert, was bei dir bedeutet das nach dem WHERE keine Bedingung folgt. Resultat: Du bekommst natürlich alle Werte aus der Datenbank. Und wenn du alle Werte bekommst und nur den ersten Abfragst wird das immer der erste aus der Datenbank sein.
     

  10. #10
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    item: Nimm endlich die ' da raus. Stand im alten Thread schon etwa 10 mal!

    item: Ansonsten stimmt das schon. Die ausgegeben Daten, haben die andere Urlaubsdatums?

    item: das saubere Datumsformat für SQL ist bei Access #mm/dd/yyyy#

    Code sql:
    1
    2
    3
    4
    5
    6
    7
    8
    
    SELECT 
        ID_urlaub 
    FROM 
        tbl_azubi_urlaub 
    WHERE 
        urlaub_von = #07/08/2010#
        AND urlaub_bis = #07/23/2010#
        AND Personalnummer = 503524
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  11. #11
    airmexx Tutorials.de Gastzugang
    wenn ich jetzt die ' rausnehme sprint auch eine zeile runter...gut...

    aber dann in der zweiten zeile beim SET kommt folgende fehlermeldung:

    Syntaxfehler in Zahl in Abfrageausdruck '(urlaub_von = " & txtvon & " AND urlaub_bis = " & txtbis & " AND Personalnummer = " & sqlper & ")'
     

  12. #12
    Steiner_B Steiner_B ist offline Mitglied Platin
    Registriert seit
    Mar 2004
    Ort
    Wien
    Beiträge
    573
    Dann mein Freund formatiere deine Datumtexte richtig wie von yaslaw einen Post weiter oben schon geschrieben. Er hat dir ja sogar schon die ganze Anfrage so wie du sie hattes reingeschrieben.
     

  13. #13
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Zitat Zitat von airmexx Beitrag anzeigen
    wenn ich jetzt die ' rausnehme sprint auch eine zeile runter...gut...

    aber dann in der zweiten zeile beim SET kommt folgende fehlermeldung:

    Syntaxfehler in Zahl in Abfrageausdruck '(urlaub_von = " & txtvon & " AND urlaub_bis = " & txtbis & " AND Personalnummer = " & sqlper & ")'
    item: Mein Tutorial hilft dir da weiter!
    item: In meinem Beitrag habe ich dein SQL angepasst -> Lesen!


    Sorry, mir wirds zu blöd mich dauernd zu wiederholen. Wer nicht lesen will, der soll selber schauen wie er zurecht kommt.
    Wünsche noch einen schönen Tag.
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 17.11.10, 14:53
  2. if Befehl richtig setzen.
    Von PHP-Fan im Forum PHP
    Antworten: 3
    Letzter Beitrag: 25.10.05, 07:54
  3. Access Formular Kombi-Feld Select-Befehl nicht annimmt
    Von Schlau_sein_will im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 29.06.05, 14:44
  4. Select befehl
    Von makitaman im Forum PHP
    Antworten: 2
    Letzter Beitrag: 08.09.04, 20:01
  5. Befehl richtig?
    Von -oKruemelo- im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 10.08.04, 10:50