Pb VB base de donnees access

canard66 Messages postés 14 Date d'inscription mardi 12 février 2002 Statut Membre Dernière intervention 13 mars 2003 - 21 févr. 2003 à 11:57
Amaramax Messages postés 12 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 29 mars 2004 - 22 févr. 2003 à 21:09
Bonjour,

voila j'ai un pb car j'ai fait un petit prog sous VB relie a une BDD access. Le pb est que pour remplir les champs via la BDD ca marche, mais ca ne marche pas quand je veux les modifier. Voila le debut de mon code, c'est la partie ou ca bug si vous pouvez m'aider ce serait cool.

Private Sub Command1_Click()
Dim db As Database
Dim Table As Recordset
Dim str As String
Set db = OpenDatabase(PathMDB)
Set Table = db.OpenRecordset("Client")
SQL = "SELECT * FROM Client WHERE [Adresse mail]=" & Chr(34) & Form6.modif & Chr(34)
Set Table = db.OpenRecordset(SQL)

Table.Edit

If (Table![Prenom client] <> Form4.Text1) Then
Table.Fields("Prenom client").Value = Form4.Text1
End If

Merci par avnce et @+.
L'erreur que ca me sort est que il n'y a aucun enregistrement, et je ne vois pas pourquoi. Merci de m'aider

4 réponses

cs_PrX Messages postés 91 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 2 novembre 2005
21 févr. 2003 à 12:31
Deux choses:
1/ Type de données dans ta base
je suppose que ton "adr mail" est typée 'String'
ainsi sql s'écrit
"SELECT * FROM matable WHERE [matable]![attribut] = """ & mavariable & """"

( écriture SQL Access :[matable]![attribut] )

2/ Un conseil perso ;)
si tu utilise VB6, utilise de pref l'ADO plutôt que le DAO. Plus performants, plus rapide, plus de fonctions...

A plus,

PrX
, :-p Initiate To VB6 And Completely Crazy
0
canard66 Messages postés 14 Date d'inscription mardi 12 février 2002 Statut Membre Dernière intervention 13 mars 2003
21 févr. 2003 à 13:21
Salut,

non ca fait toujours pareil pas d'enregistrement en cours. SVP que qq1 m'aide je craque!!!!! :sad)
0
ozar Messages postés 24 Date d'inscription mardi 3 octobre 2000 Statut Membre Dernière intervention 15 mai 2009
21 févr. 2003 à 15:11
Ta requête mon garçon s'est (fait un copier coller) :

Dim db As Database
Dim Table As Recordset
Dim str As String
Set db = OpenDatabase(PathMDB)
SQL = "SELECT * FROM Client WHERE [Adresse mail]='" & Form6.modif & "';"
Set Table = db.OpenRecordset(SQL)
if not Table.eof then
If (Table![Prenom client] <> Form4.Text1) Then
Table.Fields("Prenom client").Value = Form4.Text1
Table.Update
End If
else
msgbox "Pas d'enregistrement trouvé"
end if

Le seul truc bizarre dans ton code c : Form6.modif
vérifie ce kel contient lors de l'execution
0
Amaramax Messages postés 12 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 29 mars 2004
22 févr. 2003 à 21:09
salut,

si form6.modif est un champ text:

SQL = "SELECT * FROM Client WHERE [Adresse mail]=" & "'" & Form6.modif.text & "'"

PrX a raison utilises ADO plus rapide et plus simple que DAO avec VB6
a+
Amaramax
0
Rejoignez-nous