Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/03/2011, 11h01   #1
Membre du Club
 
Homme hadrien
Apprenti Ingénieur
Inscription : mars 2011
Messages : 86
Détails du profil
Informations personnelles :
Nom : Homme hadrien
Localisation : France

Informations professionnelles :
Activité : Apprenti Ingénieur
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : mars 2011
Messages : 86
Points : 56
Points : 56
Par défaut Erreur 3061 sur requete SQL

Bonjour,

Je souhaite faire un enregistrement par VBA sur ACCESS 2007, et ça m'affiche une message d'erreur "3061, trop peu de paramètre, 2 attendus", et le débugage surligne "CurrentDb.Execute strSQL". Quelqu'un connaîtrait-il la cause de mon problème ??

Code :
1
2
3
4
5
Dim strSQL As String
strSQL = "INSERT INTO [tblCom] (fldObj_tblCom, fldTxt_tblCom,fldAgents_tblCom,fldNum_tblCom)" _
& " VALUES (Forms![frmCom].txtObj_frmCom.Value, Forms![frmCom].txtCom_frmCom.Value,'1','1')" 
 
CurrentDb.Execute strSQL
FtF Nemesis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2011, 09h15   #2
Rédacteur

 
Avatar de Maxence HUBICHE
 
Homme Maxence HUBICHE
Formateur et Développeur - Conseil en Informatique
Inscription : juin 2002
Messages : 3 687
Détails du profil
Informations personnelles :
Nom : Homme Maxence HUBICHE
Âge : 42
Localisation : France, Val d'Oise (Île de France)

Informations professionnelles :
Activité : Formateur et Développeur - Conseil en Informatique

Informations forums :
Inscription : juin 2002
Messages : 3 687
Points : 6 516
Points : 6 516
Envoyer un message via MSN à Maxence HUBICHE Envoyer un message via Skype™ à Maxence HUBICHE
Il y a des informations dans ta requête qui sont inconnues.
Et même, il y en a deux, d'après ton message.

Mais bon... sinon... à part cela...
Normalement, on évite de mettre du SQL dans du code.
- cela pose des soucis de lecture
- cela n'optimise pas le schéma d'exécution de la requête
- c'est le premier moyen offert aux pirate pour faire du "SQL Injection"

Donc, on évite.
Et, au lieu de cela, on utilise des requêtes paramétrées.
Et tu pourras, sur ton querydef, utiliser les membres parameters avant l'exécution de la requête.
Ce sera tellement plus "beau" et "efficace", qu'après, tu ne pourras plus t'en passer.
__________________
1formaxion, une formation de qualité, des formateurs compétents
Mes tutoriels et vidéos :
Tableaux croisés dynamiques, Access les Bases, et les autres !
Maxence HUBICHE est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h33.


 
 
 
 
Partenaires

Hébergement Web