Pb de RecordSet : 2 Tables / 1 Formulaire [Résolu]

cs_gothar12 10 Messages postés dimanche 9 avril 2006Date d'inscription 5 juin 2006 Dernière intervention - 4 mai 2006 à 19:23 - Dernière réponse : cs_gothar12 10 Messages postés dimanche 9 avril 2006Date d'inscription 5 juin 2006 Dernière intervention
- 5 mai 2006 à 19:33
Bonjour,


J'ai un petit problème sous Access, j'ai fait un formulaire qui enregistre les champs dans une table nommée INTERV donc dans chaque champ, je met INTERV comme source contrôle dans les propriétés pour l'enregistrement.
Seulement j'ai un menu déroulant qui part chercher des chiffres dans une autre table INVENTAIRE et je veux remplir certains champs automatiquement en fonction du chiffre depuis la table INVENTAIRE. En fait, j'ai plusieurs champs identiques entre les 2 tables nommés pareils.
Donc j'ai fait le code suivant

Private Sub Modifiable247_Click() 'modifiable 247 c'est le nom de mon menu déroulant, je veux que lorsque je click sur un nombre dedans (correspond a un numero d'équipement de la table INVENTAIRE), çà remplisse les autres champs de mon fomulaire (donc requete a la table INVENTAIRE pour remplir les champs)


If Not Modifiable247 = "" Then 'si le champ n'est pas vide, c'est a dire, un numero d'équipement a été choisi

champ6.Value = Modifiable247.Value 'çà, pa important


Dim SQL As String
Dim SQL2 As String


SQL2 SQL2 + " WHERE (numero_equipement '" & (Modifiable247.Value) & "') "


Set db = CurrentDb
'alors on va afficher automatiquement les champs numero serie, marque, type modele, designation
'UF et numero UF depuis la table INVENTAIRE
'--------------------------------------
SQL = "SELECT numero_serie FROM INVENTAIRE"
SQL = SQL + SQL2


Set rs = db.OpenRecordset(SQL, dbOpenDynaset)
champ0.Value = rs.Fields(0)

il plante sur le Set rs = db.OpenRecordset(SQL, dbOpenDynaset)
type de donnees incompatible dans l'expression du critère
et je repete pour tous les autres champs ensuite SQL = "SELECT marque, type_modele, designation, UF, numero_UF FROM INVENTAIRE" ....
Je ne vois pas pourquoi cela ne marche pas, les champs numero_equipement, marque, type_modele, designation, UF, numero_UF sont communs au deux table et je les ai liés dans les relations
Il faut savoir aussi que dans les propriétés de mon formulaire j'ai mi INTERV en source car c'est dans cette table qu'y figureront les données apres enregistrement.

Merci de votre aide pour m'éclairer. Si vous avez des questions sur des choses que vous n'avez pas compris n'hésitez pas.
Afficher la suite 

3 réponses

Meilleure réponse
asecher 262 Messages postés lundi 20 octobre 2003Date d'inscription 27 avril 2007 Dernière intervention - 4 mai 2006 à 19:38
3
Merci
Déja vu sur ce forum (hier il me semble).
Faudrait voir à chercher un peu (voir règlement du forum)

Si numero_equipement est numérique (entier), enlève les simples apostrophes autour de & (Modifiable247.Value) &

Soit :

SQL2 = SQL2 + " WHERE (numero_equipement=" & (Modifiable247.Value) & ") "

A+

Alain 31

Merci asecher 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 69 internautes ce mois-ci

cs_gothar12 10 Messages postés dimanche 9 avril 2006Date d'inscription 5 juin 2006 Dernière intervention - 4 mai 2006 à 20:38
0
Merci
Non çà n'est pas çà, quand je met un point d'arret dans ma requete SQL il prend bien le nombre il met pas exempleSQL SELECT numero_serie FROM INVENTAIRE WHERE (numero_equipement '343') "

C'est sur cette ligne la : Set rs = db.OpenRecordset(SQL, dbOpenDynaset) que çà plante !
cs_gothar12 10 Messages postés dimanche 9 avril 2006Date d'inscription 5 juin 2006 Dernière intervention - 5 mai 2006 à 19:33
0
Merci
Effectivement il s'agissait de cela, merci beaucoup

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.