Récupérer les données d'une base ACCES

cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 - 19 juil. 2013 à 08:32
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 - 21 juil. 2013 à 21:04
Bonjour
il y a quelques temps j'avais posé une question pour afficher dans des textbox les données d'une ligne qui est sélectionnée,nickel.
mais ont ne pouvait pas afficher une image dans un contrôle image,donc j'ai modifié le code,mais rien ne s'affiche, n'y les données dans les textbox,n'y l'image dans le contrôle.les variables sont bien déclarée et la connection avec la base est ouverte car je récupere les données dans ma listview.

voila le code :
Private Sub list1_Click()

On Error Resume Next



 Set Rs = New ADODB.recordset
Rs.Open "select * from T_matos where code", db
 If Not LPRecordset.EOF Then
      If LPRecordset.Fields("facture").Value = "" Then
      
         Image1.Picture = Nothing
         Image1.Visible = True
         Image1.Tag = ""
         
 
Else
ChargeImage App.Path & "\facture" & LPRecordset.Fields("facture").Value
End If
On Error GoTo gestion

   Txt_Titre.Text = Rs!marque
   Text2.Text = Rs!ref
   t_date1.Text = Rs!Date
   t_prix.Text = Rs!prix
   Image1.ToolTipText = Rs!facture
   Image1.Picture = LoadPicture(App.Path & "\facture" & Image1.ToolTipText)
   Label13.Visible = False

gestion:
If err.Number = 53 Then
     Label13.Visible = True
     Label13.Caption = "Pas d'image disponible."
     
        End If
err:
   If err.Number = 3021 Then Resume Next
   If err.Number = -2147352571 Then Resume Next
 End If
     
End Sub



auriez vous une idée sur ce qui ne fonctionne pas.
merci
@plus
petchy

12 réponses

cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
19 juil. 2013 à 09:09
Salut

as tu essayer de lancer ton prog avec le debugger
et de l'executer pas à pas ?
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
19 juil. 2013 à 09:10
je corrige la faute d'ortho
as tu essayé
0
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
19 juil. 2013 à 09:38
comment fait t'on
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
19 juil. 2013 à 10:21
tu peux mettre un point d'arret à la ligne
If Not LPRecordset.EOF Then

comment
déplace le carret sur la ligne de code et appuie la touche F9
lance ton prog il va s'arreter à ligne du point
d'arret ensuite continue en appuyant sur f8
dans le toolbar au dessus de ton code
tu as l'onglet debug
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
19 juil. 2013 à 10:51
re,

If Not LPRecordset.EOF Then

j'ai mis un point d'arret sur cette ligne
et apparemment il marque
"varible objet ou variable bloc witch non définie"
par contre si j'enleve se code j'ai cette
On Error Resume Next

erreur 3709
"impossible d'utiliser cette connexion pour effectuer cette opération,Elle est fermée ou non valide dans ce contexte"

merci pour ton aide
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
19 juil. 2013 à 12:55
as tu établi la connection à ta BDD ?
0
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
19 juil. 2013 à 14:12
je crois, car je récupère les données sur ma listview
voila le code au lancement de la form
Sub Main1()

    On Error GoTo erreur

    'Connection base de donnée
    Set db = New ADODB.connection
    db.Provider = "Microsoft.Jet.OLEDB.4.0;User ID=admin;Data Source=" & App.Path & "\base.mdb;" & "Persist Security Info=False"
    db.Open
    Form1.Show

    Exit Sub

erreur:
    MsgBox "Probleme de connection à la base de donnée" & vbCrLf & "Vérifiez que la base de donnée se situe dans le repertoire BD", vbCritical, "Erreur de connection"
    End
End Sub

ensuite quand la form est ouverte
Private Sub Form_Load()
Call iniliste(1)
        Call Rafresh1("SELECT code, marque, ref, prix, date, facture FROM T_matos ORDER BY marque")
        t_date.Value = Date
    
End Sub


Sub Rafresh1(requete As String)

'Fonction de rafraichissement de la page accueil


'-- Requete Sql
    Set Rs = New ADODB.recordset
    Rs.Open requete, db

    '-- Nettoie la liste
    Form1.list1.ListItems.Clear

    '-- Remplissage de la liste
    If Rs.EOF Then
        Form1.list1.ListItems.add , , "Aucun Enregistrement"
        Exit Sub
    Else
        Do Until Rs.EOF

            Form1.list1.ListItems.add , , Rs!marque
            Form1.list1.ListItems(Form1.list1.ListItems.Count).ListSubItems.add , , Rs!ref
            Form1.list1.ListItems(Form1.list1.ListItems.Count).ListSubItems.add , , Rs!prix & " €"
            Form1.list1.ListItems(Form1.list1.ListItems.Count).ListSubItems.add , , Rs!Date
            Form1.list1.ListItems(Form1.list1.ListItems.Count).ListSubItems.add , , Rs!Facture
            Form1.list1.ListItems(Form1.list1.ListItems.Count).ListSubItems.add , , Rs!code
            'Frm_Accueil.List.ListItems(Frm_Accueil.List.ListItems.Count).ListSubItems.add , , Rs!caf_ctr
            'Frm_Accueil.List.ListItems(Frm_Accueil.List.ListItems.Count).ListSubItems.add , , Rs!Num_ctr
            Rs.MoveNext
        Loop
    End If

    Rs.Close
End Sub
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
19 juil. 2013 à 16:46
"varible objet ou variable bloc witch non définie"


et où as tu déclaré LPRecordset ?
0
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
19 juil. 2013 à 18:26
dans la form

Option Explicit
Dim liste
Dim a
Dim Txt_Date
'// Variable pour le changement de formulaire
Public lolo As Boolean
Public db As ADODB.connection
Public Rs As ADODB.recordset
Private rq As String
Dim i As Integer
Dim gestion
Dim LPRecordset As recordset
Dim fraJaquette
Dim bd As New ADODB.connection
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
20 juil. 2013 à 22:12
Set Rs = New ADODB.recordset
Rs.Open "select * from T_matos where code", db
 If Not LPRecordset.EOF Then


1 ta requete n'a pas l'air correcte après le
where il doit avoir une expression logique
where code =

2 tu utilises rs pour ta requette et tu verifies
lprecordset
0
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
21 juil. 2013 à 20:52
bonsoir
j'ai rajouté une expression
Set Rs = New ADODB.recordset
Rs.Open "select * from T_matos where code=" & CodeArticle, db

meme si je ne vérifie pas
If Not LPRecordset.EOF Then
      If LPRecordset.Fields("facture").Value = "" Then


ça ne fonctionne pas,je ne récupère pas mes données dans les textbox.Je ne comprends pas
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
21 juil. 2013 à 21:04
que dois contenir LPRecordset ?
le résultat de quelle requete ?
tu utilises 2 recordset
Rs = New ADODB.recordset
et lprecordset mais tu assignes ta requete
à rs
Rs.Open "select * from T_matos where code=" & CodeArticle, db

et ensuite tu verifies LPRecordset
mais il est vide aucune requete lui est assigné
0
Rejoignez-nous