Transposition sous ACCESS 2003 /
Résolu
le DJ1
Messages postés
3
Statut
Membre
-
le DJ1 Messages postés 3 Statut Membre -
le DJ1 Messages postés 3 Statut Membre -
Bonjour,
J'ai une base de données access 2003 contenant des coordonnées de points en longitude et latitude que je veux utiliser dans ARCGIS 9.2 comme fichier de points qui va me servir par la suite pour créer des routes:
Le format de ma base est :
Champ1, Champ2, X1, Y1, X2,Y2,.........Xi,Yi
i va de 1 à 260 ... Donc j'ai 262 variables
Xi et Yi représentent les coordonnées des points
SEQi est la séquence 1,2,3, ....i
Je veux avoir une nouvelle base avec le format suivant:
Champ1, Champ2, X1, Y1, SEQ1
Champ1, Champ2, X2, Y2, SEQ2
....
Champ1, Champ2,Xi,Yi,SQi,SEQi
...........................
Je peux le faire en SQL en répétant la commande ci dessous 260 fois et en changeant i de 1 à 260.
"INSERT INTO TableSource ( Champ1, Champ2, X,Y, SEQ, i AS Seq FROM TableOrigine;"
Quelqu'un peut m'aider avec un code qui automatise cette tâche répétitive dans ACCESS.
Merci d'avance
Le DJ1
J'ai une base de données access 2003 contenant des coordonnées de points en longitude et latitude que je veux utiliser dans ARCGIS 9.2 comme fichier de points qui va me servir par la suite pour créer des routes:
Le format de ma base est :
Champ1, Champ2, X1, Y1, X2,Y2,.........Xi,Yi
i va de 1 à 260 ... Donc j'ai 262 variables
Xi et Yi représentent les coordonnées des points
SEQi est la séquence 1,2,3, ....i
Je veux avoir une nouvelle base avec le format suivant:
Champ1, Champ2, X1, Y1, SEQ1
Champ1, Champ2, X2, Y2, SEQ2
....
Champ1, Champ2,Xi,Yi,SQi,SEQi
...........................
Je peux le faire en SQL en répétant la commande ci dessous 260 fois et en changeant i de 1 à 260.
"INSERT INTO TableSource ( Champ1, Champ2, X,Y, SEQ, i AS Seq FROM TableOrigine;"
Quelqu'un peut m'aider avec un code qui automatise cette tâche répétitive dans ACCESS.
Merci d'avance
Le DJ1
A voir également:
- Transposition sous ACCESS 2003 /
- Office 2003 - Télécharger - Bureautique
- Access appdata - Guide
- Acer quick access - Forum logiciel systeme
- Désinstaller ACER QUICK ACCESS - Forum Logiciels
- Exemple base de données access à télécharger gratuit ✓ - Forum Logiciels
2 réponses
Bonjour, tu pourrais essayer de faire cette boucle VBA :
/!\ Vérifier que "Microsoft DAO x.x Object library" est activé dans le menu Outils/Référence...
En remplacent le contenu avec les "{ ... }" des noms champs clés,
toute la table sera convertie automatiquement, ou ceux que tu veux avec une close WHERE dans le with
NB : si la valeur 'Seq' de TableSource n'est pas numérique, il faut mettre 'i' entre simple cote
Et donc remplacer la portion de SQL comme cela : ...SEQ, '" & i & "' AS...
/!\ Vérifier que "Microsoft DAO x.x Object library" est activé dans le menu Outils/Référence...
With CurrentDb.OpenRecordset("SELECT * FROM TableOrigine")
Do Until .EOF
For i = 1 To 260
CurrentDb.Execute "INSERT INTO TableSource ( Champ1, Champ2, " _
& "X" & i & ", Y" & i & ", SEQ, " & i & " AS Seq " _
& "FROM TableOrigine WHERE {clé}=" & !{Clé} & ";"
Next i
.MoveNext
Loop
.Close
End With
En remplacent le contenu avec les "{ ... }" des noms champs clés,
toute la table sera convertie automatiquement, ou ceux que tu veux avec une close WHERE dans le with
NB : si la valeur 'Seq' de TableSource n'est pas numérique, il faut mettre 'i' entre simple cote
Et donc remplacer la portion de SQL comme cela : ...SEQ, '" & i & "' AS...
Je m'excuse du temps pris pour te répondre. J'ai tenté de mettre en place le code. Enfin j'y arrive.
Voilà le code repris avec le nom exact de mes variables qui marche bien.
With CurrentDb.OpenRecordset("SELECT * FROM TableOrigine")
Do Until .EOF
For i = 1 To 260
CurrentDb.Execute "INSERT INTO TableSource ( Route_id, TER, GEST, DATITINE, N_J, "_
& "GTR, ANIM, UNIT, SEQ_in_route )"_
& "SELECT TableOrigine.Route_Id, TableOrigine.TER, TableOrigine.GEST,"_
& "TableOrigine.DATITINE, TableOrigine.N_J , TableOrigine.GTR, TableOrigine.ANIM, "_
& "TableOrigine.UNI" & i & " &"," & i & "AS Seq" _
& "FROM TableOrigine" & ";"
Next i
.MoveNext
Loop
.Close
End With