Listbox

Résolu
cs_le__prince Messages postés 40 Date d'inscription dimanche 12 mars 2006 Statut Membre Dernière intervention 22 mai 2006 - 2 mai 2006 à 22:03
alosamoelle Messages postés 129 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 23 mai 2009 - 3 mai 2006 à 09:18
bonjour a tt le monde


j'ai un projet : j'utilise vb6 et access.

j'ai listbox que je vais met des element appellé d'une base de donne (access) ( des noms de fichiers ).

je veu un code pour testé la listbox si 1 nom de fichier existe ds la liste???????.
si oui sort un msgbox.
sinon ajoute le nom a la liste.

voila ma code pour ajouté je veu testé ma liste si 1 nom de fichier existe :


Private Sub Command2_Click()

Dim list1text As String
conn = CurDir() & "\base\BD_Renseignement.mdb"
Dim ObjConn As New ADODB.Connection
Dim rs As ADODB.Recordset
ObjConn.Provider = "Microsoft.Jet.OLEDB.4.0"
ObjConn.ConnectionString = "Data Source=" & conn

If Label9.Caption "" Or Label9.Caption "0" Then
MsgBox "Pas de fichier a ajouter !?"
Else


If ObjConn.State = 0 Then ObjConn.Open
Set rs = ObjConn.Execute("select * from fichier")
If Not (rs.EOF And rs.BOF) Then
rs.MoveFirst
While Not rs.EOF
If Label9.Caption = CStr(rs!code_fichier) Then
list1text = CStr(rs!titre_fichier)
List1.AddItem list1text
End If
rs.MoveNext
Wend
End If
End If
End Sub

ds la 2 eme operation je veu sauvegardé ma liste ds la base .
comment je peu mettre chaque element ds son place ds la base de donne ???.

merci de repondre

1000 merci

3 réponses

alosamoelle Messages postés 129 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 23 mai 2009 1
3 mai 2006 à 09:18
Salut tu peux essayer comme ca

    Dim db As DAO.Database
    Dim td As DAO.TableDef
    Dim fd As DAO.Field
    Dim rs As DAO.Recordset
    Set db = DAO.Workspaces(0).OpenDatabase(MA_BASE_ACCESS)


    'Ré-Ouverture de la table en lecture écriture
' en supposant que la table ou sont les noms s'appele Listedesfichiers
    Set rs = db.OpenRecordset("Listedesfichiers", dbOpenTable)
        'Tant qu'il y a des lignes dans la table
    Do While Not rs.EOF
       
        'Fait un test sur une colonne de cette table
            If rs.Fields(0).Value = list1text Then
: MsgBox "déja dans la base"
: rs.Close
: db.Close
: Set db = Nothing
: GoTo fin
        End If
       'On passe à la prochaine ligne de la table
        rs.MoveNext
   
    'Je boucle sur le tant que
    Loop
 
    ' ENSUITE pour l'ecrire s'il existe pas


    'Pas de mot de passe, ouverture la plus simple en mode partagé
    Set db = DAO.Workspaces(0).OpenDatabase(MA_BASE_ACCESS)


    db.Execute "INSERT INTO Listedesfichiers( Nb ) values ('" & list1text & "');"


    'Referme la base proprement
    db.Close
   
    'Libère l'objet (très important et souvent oublié)
    Set db = Nothing

Voila j'espere que cel va t'aider
Bon courage
3
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
2 mai 2006 à 22:33
Salut,

Travaille avec une collection.
macollection = new collection

If Label9.Caption = CStr(rs!code_fichier) Then
list1text = CStr(rs!titre_fichier)
macollection.add(list1text)
List1.AddItem list1text
End If

ObjConn.open
cmdADO as new adodb.command
cmdADO.connection
for each i as string in macollection
strSQL = "INSERT INTO  fichier values("' & nomfichier &"') "

        cmdADO.CommandText = strSQL

        cmdADO.Execute
next
set macollection = nothing
ObjConn.close

Je n'est pas VB 6 sur cette machine donc c'est de memoire
Voila
0
cs_le__prince Messages postés 40 Date d'inscription dimanche 12 mars 2006 Statut Membre Dernière intervention 22 mai 2006
2 mai 2006 à 23:20
merci de repondre
mais comment utilise collection et sert a koi
comment faire l'appelle
merci de repondre j'ai met ce sujet 2 fois et a la 3eme fois tu ma repondu 1000 Merci
0
Rejoignez-nous