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 07/10/2011, 10h46   #1
Membre habitué
 
quentin massé
Inscription : janvier 2010
Messages : 251
Détails du profil
Informations personnelles :
Nom : quentin massé
Âge : 27
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : janvier 2010
Messages : 251
Points : 125
Points : 125
Par défaut Problème de déclaration de variable et d'Insert into avec valeur null

Bonjour,

Je rencontre 2 problèmes dans mon code.
J'ai un formulaire ou l'on saisie des infos sur un projet puis lorsqu'on clic sur le bouton un fenêtre parcourir s'ouvre pour chercher le fichier excel nécessaire à l'importation des données.
Jusque ici tout va bien.

Dans se fichier excel j'ai bcp de colonne (30 environ) dont les données vont s'enregistrer dans plusieurs table.

L'une de mes tables ("DATA") reçoit 6 valeurs:
Unite, PU, Qte, peraleas, Remarque et Offreur.(le num auto s'enregistre automatiquement).

Mon premier problème viens de la variable qui reçoit la valeur pour le champs Peraleas (qui est réel double en pourcentage).

La variable s'appel "SAV".
Lorsque je l'a déclare en double ca ne marche pas alors que lorsque je ne l'a déclare pas ca marche.
Voici mon code:

Code :
1
2
SAV = xlApp.Workbooks(strFilename).sheets("Feuil1").Cells(i, "Z")
SAV = Replace(SAV, ",", ".")
Je suis obligé de transformer les virgules d'excel en point pour que ca enregistre dans access.

Lorsque "SAV" est déclaré en double j'ai le message d'erreur imcompatibilité de type alors que lorsque je ne la déclare pas ca marche.
Comment dois-je déclarer "SAV"?

Mon second problème viens de mon INSERT INTO.
SI mes variables "RQ" ou "Offre" (respectivement pour les champs "Remarque" et "Offreur") sont null (càd qui ne sont pas renseigné dans Excel) ca ne s'enregistre pas alors que pour ses champs le null n'est pas interdit dans ma table.
Voici mon code:
Code :
1
2
sSQL = "INSERT INTO [DATA] ([Unite], [PU], [Qte],[Peraleas],[Remarque],[Offreur]) VALUES ('" & unite & "'," & Pu & "," & Qte & "," & SAV & ",'" & RQ & "','" & Offre & "')"
DoCmd.RunSQL (sSQL)
Pouvez vous m'aider pour m'expliquer comment je peux enregistrer dans la table même si certain champs sont null.

Merci
rob1son76 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2011, 11h14   #2
Membre habitué
 
quentin massé
Inscription : janvier 2010
Messages : 251
Détails du profil
Informations personnelles :
Nom : quentin massé
Âge : 27
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : janvier 2010
Messages : 251
Points : 125
Points : 125
Bon j'ai trouvé la solution pour mon deuxième problème.
Ce n'est pas la valeur null qu'il faut autoriser mais la chaine vide qu'il faut autoriser.

Reste mon premier problème:
Pourquoi lorsque je déclare SAV en double ca ne marche pas?
rob1son76 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h12.


 
 
 
 
Partenaires

Hébergement Web