[C# -> VBA]reqete vba insere into avec un grand nbre de champ

achalon Messages postés 1 Date d'inscription mercredi 5 décembre 2007 Statut Membre Dernière intervention 3 mai 2013 - 3 mai 2013 à 22:08
 Utilisateur anonyme - 4 mai 2013 à 20:50
Bonjour,
Voilà mon problème: j'ai une requête INSER INTO en VBA de la table A dont je doit sélectionner les champ pour l'insertion dans la table B. La sélection de la table A comprend 211 champ. La requête fonctionne jusqu'à 37 champs. Comment faire pour prendre les champs suivant.
Je précise que les tables A ont champ Index qui n'est pas dans la table B ce qui m'oblige à sélectionner les champ pour le recopie.
La requête suivante avec les 2 tables identiques fonctionne très bien Table A NAISSANCES et tables B NAISSANCESA , NAISSANCESB....Z (autant de lettre que l'alphabet)
For J = 65 To 90 ' A à Z
MyChar = Chr(J)
MyCharM = "NAISSANCES" & MyChar
requete = "INSERT INTO NAISSANCES "
requete = requete & " SELECT * FROM " & MyCharM & " "
DoCmd.RunSQL requete ' Exécute la requéte
Next J

Avec la requête suivante je n'arrive pas à mettre tous les champs. Quand je dépasse la capacité d'une ligne le texte se met en dessous en rouge et je ne sais pas continuer le code.
For J = 65 To 90 ' A à F
MyChar = Chr(J)
MyCharM = "NAISSANCES" & MyChar
requete = "INSERT INTO NAISSANCES "
requete = requete & "SELECT DISTINCTROW " & MyCharM & ".Rev, " & MyCharM & ".CODE, " & MyCharM & ".LIEU1, " & MyCharM & ".PAR, " & MyCharM & ".A4, " & MyCharM & ".[208], " & MyCharM & ".H5 FROM " & MyCharM & " WHERE " & MyCharM & ".A4 FROM " & MyCharMC & " "
DoCmd.RunSQL requete
Next J

Merci de votre réponse
acn

3 réponses

Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
4 mai 2013 à 09:44
Bonjour, si tu codes en VB pourquoi poster en C# les 2 langages sont très dissemblables?
Il ne te reste qu'à attendre un coup de baguette magique d'un admin.

Whismeril
0
Utilisateur anonyme
4 mai 2013 à 20:44
Bonjour,

La sélection de la table A comprend 211 champ. La requête fonctionne jusqu'à 37 champs. Comment faire pour prendre les champs suivant.


Une table de 211 champs c'est du délire et le résultat d'une banque de données, très mal conçue. Et je ne serais pas surpris que 37 champs soient une limite imposée soit par VB, soit par SQL Server.

Mon avis "brutal" sur ce que tu dois faire c'est revois la conception de ta BD avant toute autre chose.
0
Utilisateur anonyme
4 mai 2013 à 20:50
Bonjour,

Avant de répondre à ce qui a l'air d'une seconde question, le
règlement dit une seule question par message.

Pour continuer une ligne en VB on procède de la façon suivante :

Instruction<espace>_<Enter>
0
Rejoignez-nous