mit vb auf eine access db zugreifen

  • VB6

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von afrikanos.

    mit vb auf eine access db zugreifen

    Hallo an alle, ich hab ein kleines Problem. Ich hab eine Applikation mit vb programmiert. Diese greift auf eine Access Datenbank zu. D.h. wenn ich auf Button(Adresse) drücke offnet sich eine ListBox und zeigt mir alle Einträge der Spalte Adresse aus der Query(GesamtTabellen). In dieser ListBox kann ich einzelne einträge in eine zweite ListBox reinschieben und abspeichern in eine versteckte dritte ListBox. Drücke ich dann auf den Button(Name) erscheint eine ListBox mit allen Einträgen der Spalte Name aus der gleichen Query(GesamtTabellen) aber schon gefiltert durch ein Select mit den abgespeicerten Adressen in der versteckten ListBox. Jetzt will ich noch weiter gehen den ich hab noch 6 andere Buttons(wie z.B.: PLZ, Stockwerck,....) (diese Einträge sind alle in der Gleichen Query(GesamtTabellen) zu finden) und die neuen ListBox für PLZ soll schon gefiltert sein nach Adresse und nach Name. Leider weis ich nicht wie ich weiter vorgehen soll vielleicht habt Ihr eine Idee oder eine Art Beispiel
    Code. Ich hab das bis jetzt so gemacht, das ich eine if abfrage auf ein CheckBox gemacht habe um zu wissen ob ich schon Filterparameter für den Select habe. Beim dritten Button aber wird zu kompliziert und mühsam so einen Select zu bauen. Außerdem will ich zu Schluss noch einen Report über die Selectionen die in den versteckten ListBoxen sind ausführen bzw. das ganze als .csv abspeichern. Habt Ihr eine Ahnung ich glaub ich bewege mich in die Falsche Richtung so wie ich das Problem angehe.
    Hi,

    ich verstehe nicht so ganz worauf Du hinaus willst.

    Das habe ich verstanden:
    Du hast ein Formular mit mehreren Buttons und möchtest über jeden Button unterschiedliche Daten
    abrufen. Diese Daten holst Du aus versteckten Listboxen (warum?). Die Erstellung der
    Filterparameter (ich nehme an für die Select-Anweisung) machst Du mit If- Abfragen.

    Warum wird der Zusammenbau der Select Anweisung ab dem dritten Button sooo kompliziert???
    Präsentiere mal ein bisschen Quelltext und beschreibe genau wo Dein Problem liegt!!


    bye ...

    LaMa5.
    Die Wissenschaft wird nie ein besseres Kommunikationssystem in den Büros erfinden können als die Kaffeepause.
    (Autor: Earl Wilson, amerik. Schriftsteller)

    https://www.serviceteam-md.de
    Also ich lese als erstes eine komplette Spalte einer Query in eine Liste. Der user soll jetzt einige der Parameter in der Liste auswählen. Dann kann er sich die zweite Spalte der gleichen Query in der Liste anzeigen lassen diese ist nicht zwingend die zweite Spalte sondern abhängig von gedrückten Button. Wenn die zweite spalte in der List erscheint soll sie schon gefiltert sein nach den Auswahlen der ersten Liste. Und das soll so weiter gehen. D.h. die achte Liste zieht einen sqlstatement von acht gefilterten Spalten hinter sich.

    Zum Auslesen der jeweiligen ListBox:

    With Form1.ListBox
    For I = 0 To .ListCount - 1
    If Not varFirst Then
    strListe = strListe & .List(I)
    Else
    strListe = strListe & """)) Or (((" & SortFieldOld & ") = """ & .List(I)
    End If
    varFirst = True
    Next I
    End With

    Und zum Filtern der Query und einlesen der neuen Werte in eine andere ListBox:

    sql = "select distinct " & SortField & " from " & strTblName & " where " & "(((" & SortFieldOld & ") = """ & strListe & """))"

    Set rst = db.OpenRecordset(sql, dbOpenSnapshot)

    rst.MoveLast
    rst.MoveFirst
    J = 0

    For I = 0 To rst.RecordCount - 1
    If Len(Trim(rst(FieldIndex))) > 0 Then
    lst1.AddItem rst(FieldIndex), J
    J = J + 1
    End If
    rst.MoveNext
    Next I

    Wie verändere ich jetzt mein sqlstatement wenn der user aus der neuen ListBox mehrere Auswahlen trifft um dann die neuen selektierten Werte anzuzeigen??? Und wie übergebe ich die komplett selektierten Werte an meine accessdb um mein Report gefiltert zu aufzurufen???