{Access} problème de requête
RésoluUtilisateur anonyme -
voici mon code :
INSERT INTO Devis ([N° Devis], N°lancement)
SELECT tCréationlancement.N°lancement, tCréationlancement.[N° Devis]
FROM tCréationlancement;
et mon problème c'est que j'ai un message qui me dit : "l'instruction INSERT INTO contient le nom de champ inconnu suivant : 'N°lancement'. Assurez-vous que vous avez correctement saisi le nom, puis recommencez l'opération".
j'ai regardé et j'ai bien saisi le nom et il m'affiche toujours ce même message.
pouvez-vous m'aider svp ?
Configuration: Windows XP Internet Explorer 6.0
29 réponses
- 1
- 2
L'enjeu central est une erreur Access lors d'un INSERT INTO : le message indique que le champ 'N°lancement' est inconnu malgré la saisie apparente du nom. Plusieurs réponses suggèrent de placer les noms de champs entre crochets ou guillemets et de vérifier que l'ordre des colonnes correspond bien au SELECT. D'autres échanges évoquent des soucis connexes comme des enregistrements manquants, des boucles de traitement et des conseils sur le débogage dans des formulaires Access. Enfin, plusieurs échanges convergent vers l'idée de entourer les noms de champs par des crochets dans l'instruction et de vérifier l'alignement entre INSERT INTO et SELECT.
-
Salut,
Met tes champs entre quotes ( " " )
de plus je comprends pas ta requête, car tu fais un select dans Insert
et INSERT INTO va avec VALUES (....) que tu n'as pas...
Tu veux faire une requête imbriquée??? -
je pense qu'elle s'appelle comme cela
mais laisse tomber c problème n'est pas urgent j'en ai un autre -
-
If tCréationlancement.[N°DAS] = ([Form_fNouveaudas].NUMDAS) Then
MsgBox "N° DAS déjà pris, veuillez en saisir un nouveau", vbCritical, "Attention..."
Else
MsgBox "N° DAS disponible, allezzzzzzzz y"
End If
Voilà mon code et cela me marque erreur d'éxécution 424, Objet requis
et comme je suis pas très bon je ne sais pas comment y résoudre et c'est, certes, un petit détail mais c'es très important pour moi. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Attends tu travaille en VBA??
Si oui, tu veux comparer la valeur d'une zone de texte pour voir si elle existe dans ta base c'est sa??? -
-
Oui...
Tu utilise un jeu d'enregistrements pour créer une connexion
après tu fais un requête de selection styleSet rst =TaBase.OpenRecordset("SELECT * FROM NomDeTaTable")
après tu fais une boucle ou tu compare la valeur de ta zone de texte pour voir si elle correspond a ceux de la base.
if not RST.EOF Then
Rst.MoveFirst
Do
If zonedetexte = rst.Fields("ChampDelaBase") Then
tu fais un traitement
Else
Rst.MoveNext // tu vas sur l'enregistrement suivant
End If
Loop zonedetexte = = rst.Fields("ChampDelaBase")
End if
J'espère avoir été explicite... -
-
mais je veux juste comparer j'ai vraiment besoin de faire set rst = etc ?
-
et c'est quoi ce jeu d'enregistrement pour faire la connexion ?
-
oui tu es obligé...
sinon comment comptes - tu comparer t'es valeur et avec quoi??
il faut que tu lui définisse l'environnement sur lequel ton code va travailler
et tu le fais avec le Set rst = etc.... -
j'ai pas besoin de faire qqch avant le set rst = tec ?
-
Si tu dois créer un jeu d'enregistrements
exemple
Dim Base As Database
Dim rst As Recordset
Set Base As CurrentDb <== si tu travaille sur la base en cours, sinon tu met l'emplacement de ta base.
et après tu fais
Set rst = Base.OpenRecordset(".... -
-
ou
dim bdd as database
dim rst as openrecordset
set bdd=currentdb
set rst = etc. -
j'ai une autre erreur c'est que le message me marque aucun enregistrement en cours, sais-tu ce que cela veut dire ?
et le déboggeur me met sur cette ligne :"Loop Until ([Form_fNouveaudas].NUMDAS) = Rst.Fields("N°DAS")" -
-
celle qui est à vérifier s'appelle NUMDAS qui vient du formulaire fNouveaudas et le champ dans ma base suivicommercial, il est dans la table DAS et il se nomme N°DAS
-
Ok dans le loop met
Loop Until NUMDAS.Value = Rst.Fields("N°DAS")
et dis moi ce que tu as...
Faut pas t'en faire car le mot que tu vois "Aucun enregistrement" est normal...
je vais t'expliquer après comment le traiter -
le message que j'ai est "l'expression sur clic entrée comme paramètre etc"
- 1
- 2