|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre habitué
![]() Mathieu REtudiant MIAGe Inscription : février 2010 Messages : 145 ![]() |
Bonjour à tous,
Voila je met à jour une table Access grâce à des données contenues dans une feuille Excel. Voila mes tables : SbNeed(IdSb, IDNumber,DateSb,...) ML(IDml, IdSb) LinkMLEqb(IdML, IdEqb) Eqb(IDEqb,...,IdEq) Eq(IdEq,...) Lors du premier import, la table SbNeed se rempli normalement : 1,1,2011 2,1,2010 ... Le champ IDNumber fait référence au nombre de date correspondant au IdSb, donc je suis censé avoir 1,1 1,2 1,3 etc... Cette table me permettrai d'avoir une liste de date correspondant à chaque IdML Cependant, lors de l'import d'un deuxieme fichier, je ne vois pas comment récupéré l'IdSB et lui ajouté une occurence qui serai du type : 1,2,2010,... 1,3,2009,... Voila une partie de mon code : Code :
Merci |
||
|
|
00
|
|
|
#2 | ||
|
Membre actif
![]() Quentin D.Étudiant Inscription : avril 2011 Messages : 175 ![]() |
Bonjour,
Y aurait-il pas déjà une erreur de frappe dans ton code ? Code :
Ensuite pour ton problème, je ne vois pas trop effectivement ce que tu veux dire lol. Tu voudrais en fait pouvoir lire ton IdSb en fonction de ta feuille excel? (Dlookup?)
__________________
Pourquoi faire aujourd'hui ce que l'on peut remettre à demain ?
|
||
|
|
00
|
|
|
#3 |
|
Membre habitué
![]() Mathieu REtudiant MIAGe Inscription : février 2010 Messages : 145 ![]() |
Oui désolé pour l'erreur de frappe.
Bin en fait le VBA lis une ligne du fichier Excel. Si un IdEq existe déja, cela signifie qu'il existe un idSb pour l'équipement. Je voudrais récupéré cet IdSb, le stocker dans une variable, puis l'inserer dans ma table. |
|
|
00
|
|
|
#4 |
|
Membre actif
![]() Quentin D.Étudiant Inscription : avril 2011 Messages : 175 ![]() |
Ok, je pense que j'utiliserais Dlookup associé à Isnull :
Code :
If IsNull(DLookup("[Nomdechamps]", "Nomdetable", " [Nomchamps] = '" & Variable & "'")) Then Sinon tu fais ... Ensuite pour récupérer ton IdSB : Code :
TaVariable = Dlookup("[IdSB]", "Nomtalbe", " IdEq = untruc" ) Voilà j'espère t'avoir un peu éclairer avec cette fonction qui est assez pratique et que c'est ce que tu recherches.
__________________
Pourquoi faire aujourd'hui ce que l'on peut remettre à demain ?
|
|
|
00
|
|
|
#5 | ||||
|
Membre habitué
![]() Mathieu REtudiant MIAGe Inscription : février 2010 Messages : 145 ![]() |
Bon, j'ai réussi à progresser un peu :
Code :
Maintenant, j'ai un message d'erreur suite à la requete Count, sur la ligne 2 Code :
Type de données imcompatible dans l'expression du critére. La valeur de resNumSbDate est Null, je ne vois pas comment l'eviter ou faire un test avant pour lui assigner une autre valeur EDIT : Je viens de lire ce que tu as mis sur DLookUp, et je vois que ca correspond à ce que je veux faire plus loin dans mon code
|
||||
|
|
00
|
|
|
#6 |
|
Membre actif
![]() Quentin D.Étudiant Inscription : avril 2011 Messages : 175 ![]() |
Bin justement peut être avec un If Isnull(Dlookup(...)), c'est un test pour vérifier si la valeur de ton champs est null.
S'il est null alors soit tu lui donnes une valeurs et tu fais tes manip, soit tu le laisses tomber et tu passes au suivant. Ensuite dans le else tu mets ce que tu dois faire s'il n'est pas null.
__________________
Pourquoi faire aujourd'hui ce que l'on peut remettre à demain ?
|
|
|
00
|
|
|
#7 | ||||
|
Membre habitué
![]() Mathieu REtudiant MIAGe Inscription : février 2010 Messages : 145 ![]() |
Je n'arrive pas à faire fonctionner ma requete.
J'ai : Code :
Code :
Erreur 2471 L'objet ne contient pas d'objet d'automatisation 'Coco" |
||||
|
|
00
|
|
|
#8 | ||
|
Membre actif
![]() Quentin D.Étudiant Inscription : avril 2011 Messages : 175 ![]() |
Je voyais ça plus comme ça :
Code :
__________________
Pourquoi faire aujourd'hui ce que l'on peut remettre à demain ?
|
||
|
|
00
|
|
|
#9 |
|
Membre habitué
![]() Mathieu REtudiant MIAGe Inscription : février 2010 Messages : 145 ![]() |
J'ai une erreur sur la premiere requete
Code :
If (DLookup("Count(IDSB)", "SBNeed", "(IDSB) = '" & IdSB & "' ")) Is Null Then J'ai enlevé les simples côte pour la variable IdSb comme c'est un int et maintenant j'ai l'erreur : Objet requis, toujours sur la même ligne |
|
|
00
|
|
|
#10 |
|
Membre actif
![]() Quentin D.Étudiant Inscription : avril 2011 Messages : 175 ![]() |
Alors, pourquoi ne laisse tu pas le Isnull en fonction?
Ensuite ta variable IdSB doit exister, cad qu'elle ne doit jamais être null qd tu la sélectionnes dans tes fichiers excel. Ensuite regarde si tu l'as bien écrite de la mm manière (je vois que tu as mis IdSBB pour le nom de ta variable, change l'un des 2, soit le nom de ta variable qd tu la définies, soit dans le dlookup tu rajoutes un B). Une dernière chose, le count te servait à compter le nombre d'IdSB dans ta base, dans le dlookup, il ne sert à rien, met plutôt : Code :
If (DLookup("[IDSB]", "SBNeed", "(IDSB) = '" & IdSB & "' ")) Is Null Then
__________________
Pourquoi faire aujourd'hui ce que l'on peut remettre à demain ?
|
|
|
00
|
|
|
#11 |
|
Membre habitué
![]() Mathieu REtudiant MIAGe Inscription : février 2010 Messages : 145 ![]() |
Oui tu as raison ça fonctionne maitenant.
Merci beaucoup pour le temps que tu m'as consacré ! Bonne journée |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com