Access 2003

Salut à tous,

Pour des raisons multiples et variées je dois tenter d’importer un fichier texte et le diviser en plusieurs tables liées dans Access 2003 mais je rencontre certains problèmes vu mon inexpérience dans ce logiciel.

Le fichier texte est du genre :Numéro commande; numéro client; Date de naissance client; date de début du voyage; date de fin de voyage; ... où chaque ligne est une commande de voyage Mon idée est de scinder cela en plusieurs tables : Une table “clients”, une table “voyages”, une table “destination”… qui seront liées.
[ul]
[li]Problème 1: quand j’importe le txt, dès que je veux faire une manip dessus, au moment de l’enregistrement il me dit que c’est pas possible genre pas assez de mémoire ou d’espace disque. J’ai 400.000 lignes mais je suis franchement pas limité par la mémoire ni l’espace disque alors qu’est-ce qui coince ? Ce serait pas trop un soucis je pense si j’arrivais à règler le problème suivant[/li][li]Problème 2: comment on fait pour enregistrer le résultat d’une requête en table ? Je sais que c’est un type de requête spécifique mais je ne trouve pas où le spécifier.[/li][/ul]

Pour le 2 tu as un bouton qui te permet de choisir entre sélection/mise à jour ou création de table (et autre)
Après tu appuies sut le point d’interrogation et on va te dire que tu vas créer une table avec X lignes…
(Maintenant, je n’ai pas cette version au boulot et je ne suis pas au boulot alors pour te décrier le bouton…)

[quote=“Marmottas, post:2, topic: 51042”]Pour le 2 tu as un bouton qui te permet de choisir entre sélection/mise à jour ou création de table (et autre)
Après tu appuies sut le point d’interrogation et on va te dire que tu vas créer une table avec X lignes…
(Maintenant, je n’ai pas cette version au boulot et je ne suis pas au boulot alors pour te décrier le bouton…)[/quote]
J’ai cette version sous le coude :
Créer la requete en mode création ( et pas assistant)
Choisi ta table
Ensuite clique droit à gauche sur
[champ
table
Tri
…]

Type de requête => requête création de table

Edit , plutot que cliquer droit , tu peux aller dans le menu “requete” dans la barre de menu

Une autre méthode pourrait être d’importer dans un premier temps ce ficher sous Excel (de mémoire en format csv) puis faire comme dit plus haut une requête d’importation sous Access.

Oui, sauf qu’avec office 2003 , excel est limité à 65535 lignes environ

Après on peut bricoler pour lui faire digérer en plusieurs fois.

Et un micro programme en C# ou java , qui lirait le fichier texte et ferait les requetes SQL au fur et a mesure sur Access ? C’est genre 30 ligne quoi :smiley:

[ol]
[li]Tu importes le fichier texte dans une table Oracle par SQL Loader (ou idem dans SQL server avec BCP).[/li][li]Tu fais une table liée à cette table dans Access.[/li][li]Et ensuite tu sélectionnes par une requête les données de table liée vers ta(tes) table(s) destinatrice(s).[/li][/ol]

Sinon comme dit Lukkant on pourrait découper les fichier en plusieurs fichiers que tu ferais ingurgiter peu à peu par Access. (un exemple de splitter trouvé non testé)

(Autre solution: Ne pas utiliser Access pour ton cas. En effet Access est fait pour les petites applications mono-utilisateurs et à faibles volumes, ou alors en tant qu’IHM. (oui il existe des énormes applications access, j’en ai vu, et ce sont des usines à gaz aussi performante qu’un paresseux et aussi leste qu’un sauropode)