listbox - filebox unterschied auslesen

  • VB6

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Neptun.

    listbox - filebox unterschied auslesen

    hallo! hab ein kleines Problem. Wir haben in unserer Firma Artikel und Fotos. Leider hat noch nicht jeder Artikel ein Foto.
    Die Namen sind Identisch. Also das Foto heißt wie der Artikel + jpg.

    Ich hab alle Artikel von der Datenbank in eine Listbox hineingegeben. Die Fotos sind in einer Filebox.
    Bsp.
    Lst_Artikel: Spule_666.jpg <--- Listbox
    Fil_Datei: Spule_666.jpg <--- Filebox

    Jetzt möchte ich abfragen, welche Artikel in der Listbox noch kein Foto von der Filebox hat und diese dann in eine weitere listbox anzeigen.

    leider sitz ich jetzt schon seit 2 std. dabei und mir fällt noch immer keine Lösung ein.
    Wisst ihr zufällig wie ich das abfragen kann? Bei mir raucht schon der Kopf...... ?(



    Code:


    Public objWI As New ADODB.Connection
    Public rsTemp As New ADODB.Recordset
    Public SQL As String
    Public pic As String


    Private Sub dirverzeichnis_Change()
    fildatei.Path = dirverzeichnis.Path
    End Sub

    Private Sub drvlaufwerk_Change()
    dirverzeichnis.Path = drvlaufwerk.Drive
    End Sub

    Private Sub Form_Load()

    Set objWI = New ADODB.Connection
    With objWI
    .Provider = "xxxxxx"
    .Properties("Data Source") = "xxxxx"
    .Properties("Initial Catalog") = "xxxxx"
    .Properties("User ID") = "xxxx"
    .Properties("Password") = "xxxx"
    .ConnectionTimeout = 0
    .CommandTimeout = 0
    .Open
    End With

    SQL = "Select artikel from stammdaten order by artikel"
    rsTemp.Open SQL, objWI, adOpenKeyset, adLockReadOnly

    rsTemp.MoveFirst
    lst_artikel.Clear
    Do While Not rsTemp.EOF
    pic = Trim(rsTemp!artikel) & ".jpg"
    pic = Replace(pic, "/", "_")
    lst_artikel.AddItem pic
    rsTemp.MoveNext
    Loop
    rsTemp.Close
    End Sub
    Hallo Sp1r1tus,
    probier' mal dieses:

    Visual Basic-Quellcode

    1. Dim i&, j&, flgFound As Boolean
    2. List2.Clear
    3. For i = 0 To List1.ListCount - 1
    4. flgFound = False
    5. For j = 0 To File1.ListCount - 1
    6. If LCase$(List1.List(i) & ".jpg") = LCase$(File1.List(j)) Then
    7. flgFound = True
    8. Exit For
    9. End If
    10. Next j
    11. If flgFound = False Then
    12. List2.AddItem List1.List(i)
    13. End If
    14. Next i
    Gruss,

    Neptun

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Neptun“ ()

    Hallo! Danke für deine Antwort. Hab mittlerweile eine andere Methode probiert und hat funktioniert. Hab mir eine tabelle gemacht, wo in der 1. spalte der artikel drinnen steht und in der 2. spalte für "Ja" oder "Nein" jetzt ist alles auf Ja gestellt.

    Dann starte ich das VB Script. Ich habs über die Picture Box gemacht. Wenn kein Bild vorhanden ist geht er zu Fehler und gibt dann das bild nopic.jpg zurück und schreibt 'N' in die tabelle.

    PICTUREBOX IST SCHON ETWAS SEHR FEINES!!!!!



    Private Sub Form_load()

    Dim artnr As String
    Dim a As Integer
    On Error GoTo Fehler
    a = 1
    SQL = "Select artikel from bilder order by artikel"
    rsTemp.Open SQL, objWI, adOpenKeyset, adLockReadOnly

    rsTemp.MoveFirst

    Do While Not rsTemp.EOF
    artnr = Trim(rsTemp!artikel)
    pic = Trim(rsTemp!artikel) & ".jpg"
    pic = Replace(pic, "/", "_")
    pic = "O:\Artikelpic\" & pic
    Picture1.Picture = LoadPicture(pic)
    a = a + 1
    Debug.Print a
    DoEvents
    rsTemp.MoveNext
    Loop
    rsTemp.Close
    Exit Sub

    Fehler:

    If Err.Number = 53 Then
    pic = "O:\Artikelpic\" & "nopic1.jpg"
    SQL = "Update bilder set bild = 'N' where artikel = '" & artnr & "'"
    objWI.Execute SQL
    Resume
    Else
    Exit Sub
    End If
    End Sub