Code VBA.URGENT!!!!

fakir51 Messages postés 15 Date d'inscription vendredi 26 avril 2002 Statut Membre Dernière intervention 25 juillet 2002 - 3 mai 2002 à 09:35
TFlorian Messages postés 194 Date d'inscription dimanche 3 mars 2002 Statut Membre Dernière intervention 19 décembre 2005 - 3 mai 2002 à 23:08
bonjour,
j'aurai besoin du code complet qui permet de vérifier si la valeur entrée dans un controle d'un formulaire a déjà été entrée car j'ai tenté d'en faire un, mais il ne fonctionne pa.
Code:
Dim BD As Database
Dim RS As Recordset
Dim SQL As String

SQL = "SELECT * FROM No_d_affaire_tbl WHERE No_d_affaire=&Texte78.Text&;"
Set BD = DBEngine.OpenDatabase("Base Donnée", dbOpenDynaset)
Set RS = BD.OpenRecordset(SQL)

If (RS.RecordCount = 1) Then
MsgBox "if"
No_DA_tbl_No_d_affaire = Texte78.Text
Champ_détail_tbl_No_d_affaire = Texte78.Text

Else
MsgBox "Else"
No_d_affaire_tbl_No_d_affaire = Texte78.Text
No_DA_tbl_No_d_affaire = Texte78.Text
Champ_détail_tbl_No_d_affaire = Texte78.Text

End If

MERCI

1 réponse

TFlorian Messages postés 194 Date d'inscription dimanche 3 mars 2002 Statut Membre Dernière intervention 19 décembre 2005 3
3 mai 2002 à 23:08
Bonjour,

je ne comprant pas trop ton code surtout
SQL = "SELECT * FROM No_d_affaire_tbl WHERE No_d_affaire=&Texte78.Text&;"

que veut tu au juste que ca fasse :

en admetant que Text78.text=--COUCOU--

actuellemant tu charge dans la ta variable SQL
la chaine SELECT * FROM No_d_affaire_tbl WHERE No_d_affaire=&Texte78.Text&;
SANS aucunemodification,

or il me semble que tu voudrais que cette meme variable se charge avec
SELECT * FROM No_d_affaire_tbl WHERE No_d_affaire=--COUCOU--;

si tel est le cas voici le code a appliquer:

SQL = _
"SELECT * FROM No_d_affaire_tbl WHERE " & _
"No_d_affaire=" & Texte78.Text & ";"

(Ce code est direcemant expoitable;-)

en fait la differance est dans la differanciation entre les chaines de caracters et la valeure renvoyee par ton textbox ...
les chaines sont a metre entre "" (ce que tu a fait) en revanche Text78.text n'est pas une chaine mais un objet qui pointe vers l'exterieur .

Attention au espaces lors de reconstitution de chaine !!!

NB pour controler que la variable comporte bien la bonne chaine resultante des operations entre les champs de textes et les variables il est tres interessant d'utiliser de debugeur ;

debug.print SQL

(affiche dans le debuguer le contenus de la variable SQL)

si ma preniere annalyse ne pas complette celle ci l'est peut etre plus :

No_d_affaire_tbl
No_d_affaire
Texte78.Text.
sont des variables definies et contennant des infirmations a inclures dans la formule final

(original :)
SQL = "SELECT * FROM No_d_affaire_tbl WHERE No_d_affaire=&Texte78.Text&;"

ma version :

SQL = "SELECT * FROM " & _
No_d_affaire_tbl & " WHERE " & _
No_d_affaire & "=" & Texte78.Text & ";"

voici ce que devrais contenir SQLsi :
No_d_affaire_tbl=789
No_d_affaire=123
Texte78.Text=--COUCOU--

le variable SQL contiendra la chaine:
"SELECT * FROM 789 WHERE 123=--COUCOU--;"

si ce n'est toujour pas ca, a toi d'addapter en fonction de ce que tu a e tce que tu veux ...

c'est pas compluiquer

By,

TFlorian.
0
Rejoignez-nous