{Access} problème de requête

Résolu/Fermé
nikos le grec Messages postés 102 Date d'inscription jeudi 4 juin 2009 Statut Membre Dernière intervention 25 juin 2009 - 17 juin 2009 à 13:12
 Utilisateur anonyme - 19 juin 2009 à 10:09
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 ?

29 réponses

Utilisateur anonyme
17 juin 2009 à 15:02
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???
0
nikos le grec Messages postés 102 Date d'inscription jeudi 4 juin 2009 Statut Membre Dernière intervention 25 juin 2009 1
17 juin 2009 à 15:08
je pense qu'elle s'appelle comme cela
mais laisse tomber c problème n'est pas urgent j'en ai un autre
0
Utilisateur anonyme
17 juin 2009 à 15:09
lequel??
0
nikos le grec Messages postés 102 Date d'inscription jeudi 4 juin 2009 Statut Membre Dernière intervention 25 juin 2009 1
17 juin 2009 à 15:16
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
17 juin 2009 à 15:21
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???
0
nikos le grec Messages postés 102 Date d'inscription jeudi 4 juin 2009 Statut Membre Dernière intervention 25 juin 2009 1
18 juin 2009 à 09:03
oui c'est bien sa.
est-ce possible ?
0
Utilisateur anonyme
18 juin 2009 à 09:09
Oui...

Tu utilise un jeu d'enregistrements pour créer une connexion

après tu fais un requête de selection style
Set 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...
0
nikos le grec Messages postés 102 Date d'inscription jeudi 4 juin 2009 Statut Membre Dernière intervention 25 juin 2009 1
18 juin 2009 à 09:13
j'essaye et puis je te dis si cela marche
0
nikos le grec Messages postés 102 Date d'inscription jeudi 4 juin 2009 Statut Membre Dernière intervention 25 juin 2009 1
18 juin 2009 à 09:15
mais je veux juste comparer j'ai vraiment besoin de faire set rst = etc ?
0
nikos le grec Messages postés 102 Date d'inscription jeudi 4 juin 2009 Statut Membre Dernière intervention 25 juin 2009 1
18 juin 2009 à 09:16
et c'est quoi ce jeu d'enregistrement pour faire la connexion ?
0
Utilisateur anonyme
18 juin 2009 à 09:17
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....
0
nikos le grec Messages postés 102 Date d'inscription jeudi 4 juin 2009 Statut Membre Dernière intervention 25 juin 2009 1
18 juin 2009 à 09:21
j'ai pas besoin de faire qqch avant le set rst = tec ?
0
Utilisateur anonyme
18 juin 2009 à 09:23
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("....
0
nikos le grec Messages postés 102 Date d'inscription jeudi 4 juin 2009 Statut Membre Dernière intervention 25 juin 2009 1
18 juin 2009 à 09:24
c'est pas plutôt set rst = currentDb ?
0
nikos le grec Messages postés 102 Date d'inscription jeudi 4 juin 2009 Statut Membre Dernière intervention 25 juin 2009 1
18 juin 2009 à 09:26
ou
dim bdd as database
dim rst as openrecordset

set bdd=currentdb
set rst = etc.
0
nikos le grec Messages postés 102 Date d'inscription jeudi 4 juin 2009 Statut Membre Dernière intervention 25 juin 2009 1
18 juin 2009 à 09:27
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")"
0
Utilisateur anonyme
18 juin 2009 à 09:31
juste avant de répondre : quel est le nom exact de ta textbox???
0
nikos le grec Messages postés 102 Date d'inscription jeudi 4 juin 2009 Statut Membre Dernière intervention 25 juin 2009 1
18 juin 2009 à 09:49
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
0
Utilisateur anonyme
18 juin 2009 à 09:54
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
0
nikos le grec Messages postés 102 Date d'inscription jeudi 4 juin 2009 Statut Membre Dernière intervention 25 juin 2009 1
18 juin 2009 à 09:59
le message que j'ai est "l'expression sur clic entrée comme paramètre etc"
0