{Access} problème de requête
Résolu
Bonjour,
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 ?
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
Résumé de la discussion
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.
-
Jten ai fait un qui fonctionne adapte le a ton code et dit moi après ... attention au quotes et tout sa
Private Sub verif_Click()
Dim bdd As DAO.Database
Dim Rst As DAO.Recordset
Set bdd = CurrentDb
If IsNull(NUMDAS) Then
MsgBox "Rentre un nombre", vbCritical
Else
If IsNumeric(NUMDAS) = False Then
MsgBox "Ceci n'est pas un nombre", vbCritical
Else
Set Rst = bdd.OpenRecordset("SELECT N°DAS FROM DAS WHERE N°DAS = " & NUMDAS.Value & " ")
If Not Rst.EOF Then
MsgBox "tout compris mec ..."
Else
MsgBox "rien compris mec ..."
End If
End If
End If
End Sub -
Private Sub btnVerification_Click()
Dim bdd As Database
Dim Rst As Recordset
Set bdd = CurrentDb
Set Rst = bdd.OpenRecordset("SELECT DAS.* FROM DAS")
If Not Rst.EOF Then
Rst.MoveFirst
Do
If ([Form_fNouveaudas].NUMDAS) = Rst.Fields("N°DAS") Then
MsgBox "tout compris mec ..."
Else
Rst.MoveNext
End If
Loop Until (NUMDAS.Value = Rst.Fields("N°DAS")
End If
End Sub -
SAlut,
le signe différent de en ACCESS c'est sa ===> <>
et est-ce que tu peux me mettre le code de ton bouton car je suis perdu sans matière...Merci -
tu as la réponse ou pas ?
-
?
une autre question le signe différent en vb sous access c'est quoi ? -
pourquoi cela change quelque chose ?
-
oui c'est un bouton
-
Euh attends qu'est ce qui génère la vérification c'est un bouton???
-
tu vois ou pas ?
-
le message que j'ai est "l'expression sur clic entrée comme paramètre etc"
-
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 -
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
-
juste avant de répondre : quel est le nom exact de ta textbox???
-
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")" -
ou
dim bdd as database
dim rst as openrecordset
set bdd=currentdb
set rst = etc. -
c'est pas plutôt set rst = currentDb ?
-
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(".... -
j'ai pas besoin de faire qqch avant le set rst = tec ?
-
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.... -
et c'est quoi ce jeu d'enregistrement pour faire la connexion ?
- 1
- 2
Suivant