Access, SQL

leubaa Messages postés 24 Date d'inscription mardi 29 juillet 2003 Statut Membre Dernière intervention 20 mai 2005 - 3 mars 2005 à 14:28
faboun1 Messages postés 2 Date d'inscription lundi 29 octobre 2007 Statut Membre Dernière intervention 21 septembre 2010 - 21 sept. 2010 à 12:57
Bonjour,

Je suis en train de développer un petite base de données, et je me trouve devant un problème. Un formulaire me permet de selectionner un enregistrement, et soit de le modifier ou de le supprimer (ce qui fait ouvrir un 2e formulaire)
Cepandant dans mon code VBA, j'ai une erreur qui intervient au niveau de la requete SQL...

QQN peut-il m'aider ?

Merci

Dim dbs As DAO.Database
Dim donnees As DAO.Recordset
Dim Formulaire As Form
Set dbs = CurrentDb
Set Formulaire = Forms![Order_selection] Set donnees dbs.OpenRecordset("SELECT * FROM [Orders] WHERE [Cmd_id] " & Num)
If Not IsNull(Num) Then
If Not (donnees.EOF) Then
Formulaire![id] = donnees("Cmd_id")
Formulaire![name] = donnees("Cmd_name")
Formulaire![date] = donnees("Cmd_date")
End If
End If
donnees.Close
End Function

3 réponses

voilhes Messages postés 33 Date d'inscription lundi 20 janvier 2003 Statut Membre Dernière intervention 6 septembre 2006 6
3 mars 2005 à 15:01
Il te suffit de modifier la source de données de ton deuxième formulaire:

SELECT * FROM [Orders] WHERE [Cmd_ID]=Formulaires!NomFormulaire1!Cmd_id

-Francis-
0
leubaa Messages postés 24 Date d'inscription mardi 29 juillet 2003 Statut Membre Dernière intervention 20 mai 2005
3 mars 2005 à 15:49
Merci pour votre reponse, mais je crois avoir mal formulé mon problème. J'ai une liste de commande (un objet liste) et lorsque je clique sur une de ces commandes, je veux que les parametres de la commande selectionné passe dans le champ (meme formulaire) ensuite on peut soit modifier ou supprimer la commande. Lorsque je clique sur l'élément de la liste (Num = Liste) j'ai le message d'erreur suivant :

erreur d'exécution 3464
"Type de données incompatible dans l'expression du critère"

Ce qui est bizarre c'est que cela fonctionne dans d'autres cas !!!
0
faboun1 Messages postés 2 Date d'inscription lundi 29 octobre 2007 Statut Membre Dernière intervention 21 septembre 2010
21 sept. 2010 à 12:57
Bonjour,

Le paramètre num du test est-il défférent de null ?

1ère piste : la valeur de num j'aurais remonté d'une ligne le contrôle isnull
--> ... If Not IsNull(Num) Then
Set donnees dbs.OpenRecordset("SELECT * FROM [Orders] WHERE [Cmd_id] " & Num)...

autre piste : affectation de la date
-->...Formulaire![date] = cdate(donnees("Cmd_date"))

commentaire : avant eof, je me positionne toujours sur le premier enregistrement par movefirst --> donnees.movefirst

Fab
0
Rejoignez-nous