Insérer des données dans des champs vides d'une table déjà remplie

pyb54 Messages postés 33 Date d'inscription mercredi 2 juillet 2008 Statut Membre Dernière intervention 15 février 2010 - 21 juil. 2008 à 15:08
pyb54 Messages postés 33 Date d'inscription mercredi 2 juillet 2008 Statut Membre Dernière intervention 15 février 2010 - 22 juil. 2008 à 13:39
Bonjour à tous, j'ai une colle à posée ( enfin c'est une colle pour moi en tout cas )

J'ai une table remplie avec des données diverses, à partir de fichiers excel, seulement 3 colonnes ont été rajoutées pour s'y retrouver dans la table, colonnes qui elles n'existent pas dans le fichier excel.

bon j'ai un code !
Set oRs = CurrentDb.OpenRecordset(nomdetable, dbOpenDynaset)
oRs.Edit
nbligne = 1
Do While nbligne < lignetable

    oRs.Fields("Champ1").Value(nbligne) = info1
    oRs.Fields("Champ2").Value(nbligne) = info2
    oRs.Fields("Champ3").Value(nbligne) = info3
  nbligne = nbligne + 1
Loop

nbligne est à 1 pour ne pas écraser le nom du champ.
lignetable est une variable contenant le nombre max de lignes non vides de la table

lorsque je l'éxécute je remplis uniquement la première ligne de mes 3 champs, le reste, pour la peine reste vide, mais je dois remplir toute les lignes d'ou mon idée de départ de rajouter (nbligne) à chaque fois, sans succès hélas.

une exemple plus concret du résultat actuel de mon code

champ1 | champ2 | champ3 | champ4
 info1     | info2     |   info3   |  info4
             |              |              | info4
             |              |              | info4

j'aimerais que info1, info2, info3 soit présent à chaque fois. à noter qu'étant des références, ces infos ne peuvent être fixe à chaque fois. SI jamais je suis pas clair, ben hésitez pas !

5 réponses

zen69 Messages postés 584 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 29 avril 2010 1
21 juil. 2008 à 17:47
a place de nomtable dans ton openrs

"SELECT * FROM " & nomtable & " WHERE champ1='' OR champ2='' OR champ3=''"

Avant   nbligne = nbligne + 1
oRS.update

<hr size="2" width="100%" />  zen69 aka Ortho Le Profett
  [site web]
0
pyb54 Messages postés 33 Date d'inscription mercredi 2 juillet 2008 Statut Membre Dernière intervention 15 février 2010
22 juil. 2008 à 08:35
Salut zen69 !

Merci pour ta réponse, seulement il doit manquer quelque chose car j'ai l'erreur too few parameters. Expected 2

j'ai repris ton code de la manière suivante :

Set oRs = CurrentDb.OpenRecordset("SELECT champ1,champ2,champ3 FROM " & nomdetable & " WHERE champ1='' OR champ2='' OR champ3=''", dbOpenDynaset)

Une idée ?
0
pyb54 Messages postés 33 Date d'inscription mercredi 2 juillet 2008 Statut Membre Dernière intervention 15 février 2010
22 juil. 2008 à 08:50
J'ai trouvé pour l'erreur, il fallait rajouter des apostrophes comme ceci :

Set oRs = CurrentDb.OpenRecordset("SELECT champ1,champ2,champ3 FROM " & nomdetable & " WHERE 'champ1'='' OR 'champ2'='' OR 'champ3'=''", dbOpenDynaset)

mais maintenant j'ai une erreur "No current Record"
0
pyb54 Messages postés 33 Date d'inscription mercredi 2 juillet 2008 Statut Membre Dernière intervention 15 février 2010
22 juil. 2008 à 11:00
Je ne trouve pas de solution pour le "no current record"




il se produit sur "oRs.Edit"
juste à la suite de la déclaration donc, est ce parce que le code sélectionne des champs vides ? comment y rémédier du coup ?
0

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

Posez votre question
pyb54 Messages postés 33 Date d'inscription mercredi 2 juillet 2008 Statut Membre Dernière intervention 15 février 2010
22 juil. 2008 à 13:39
Si quelqu'un à une autre façon de procéder pour palier au problème de l'insertion qu'il n'hésite pas, je bloque depuis 2 jours la dessus :D
0
Rejoignez-nous