Probleme sur access au niveau des requete

Doul21 -  
 tafiscobar -
Bonjour a tous!
Voila mon probleme j'ai une application qui tourne sur delphi.(Logiciel de programmation) et qui utilise Access comme base de donnée. Mon probleme est le suivant: Sous delphi il m'arrive d'envoyer plusieurs requete en meme temps c a dire de mettre plusieurs requetes dans une zone de texte et de faire executer ce qu'il y a dans la zone de texte d'un seul coup. SA marche sous oracle , sa marche sous sql server mais sa marche pas sous access car je n'arrive pas a trouver la bonne methode pour lui faire comprendre qu'il y a plusieurs requete dans la zone de texte. En faite il me faut un separateur entre les differentes requete pour informer access qu'a se separateur commence une novelle requete.
Voila je sait que sa a l'air tout con et que sa doit etre juste une petite chose a faire mais sa fait deux jours que je cherche et je trouve toujours pas.
Merci de repondre vite.

2 réponses

teebo Messages postés 33491 Date d'inscription   Statut Modérateur Dernière intervention   1 793
 
Tes 2 requetes, elles sont liees ou non?Si elles sont independantes, il faut les envoyer separemment, parce que Access gere certes le SQL, mais de maniere, ...personnelle pour rester politiquement correct. Si elles sont lies, il faut les fusionner en une seule a l'aide des jonctions et autres...
En esperant avoir ete utile et en te souhaitant bon courage...

Teebo...
"Le Sage a des questions, l'idiot des réponses..."
0
doul21
 
Bah en faite nan elle ne sont pas liée du tout! Je t'explique vite faite. C'est une appli qui gere different truc et au depart il faut creer la base de donnée donc pour cela on a differentes requete "create table..." et c ce genre de requete que je veut qu'il traite simultanement. En faite dans ma zone de texte sous delphi j'ai ceci:

CREATE TABLE ACTIONCONTACT1 (
CODEACTIONCONTACT
VARCHAR(14) NOT NULL,
LIBELLE VARCHAR(35),
DATECREATION DATETIME NOT
NULL,
DATEMAJ DATETIME NOT NULL,
DATESYNCHRO DATETIME);

CREATE TABLE ADRESSE1 (
ADRESSEID VARCHAR(14)
NOT NULL,
TYPEADRESSEID INTEGER,
SOCIETE VARCHAR(80),
NOM VARCHAR(35),
ADRESSE IMAGE,
CODEPOSTAL VARCHAR(10),
VILLE VARCHAR(40),
TELEPHONE VARCHAR(20),
FAX VARCHAR(20),
OBSERVATION IMAGE,
DATECREATION DATETIME NOT
NULL,
DATEMAJ DATETIME NOT NULL,
DATESYNCHRO DATETIME,
CONSTRAINT PK_ADRESSEID
PRIMARY KEY (ADRESSEID));

ET il me dit qu'il y a une erreur d'expression. Normal, il ne voit pas la separation entre les deux requetes du coup sa fait une erreur.
Voila le pb!
J'espere que tu as une idée merci d'avance!
0
teebo Messages postés 33491 Date d'inscription   Statut Modérateur Dernière intervention   1 793 > doul21
 
OUILLE...Pas bon, je ne sais plus si Access accepte le create table, en tout cas, hors de questions de la faire simultanement a mon avis (j'avais perdu pas mal de temps sur la compatibilite Delphi/Access il y a qq annees), mais essaye deja avec une parce que je pense que le create table passe pas si simplement que ca (mais je suis sur qu'il y a un moyen de creer des tables quand meme...)
References pour la doc et les questions access : http://www.mvps.org/accessfr/index.html

Esperant avoir ete utile...

Teebo...
"Le Sage a des questions, l'idiot des réponses..."
0
doul21 > teebo Messages postés 33491 Date d'inscription   Statut Modérateur Dernière intervention  
 
Bah ecoute moi je fais une connexion ODBC et quand je lance une requete create table sa marche nickel le pb c quand j'en lance plusieurs en meme temps car il ne comprends pas qu'il doit executer une requete puis une autre en faite il faudrait que je sache le caractere d'arret d'une requete sous access. JE sait que sous oracle c'est le ";" mais sous access a priori nan.
Merci quand meme.
0
teebo Messages postés 33491 Date d'inscription   Statut Modérateur Dernière intervention   1 793 > doul21
 
J'ai bien peur qu'il n'existe pas, mais je te souhaite bonne chance et bon courage...

Teebo...
"Le Sage a des questions, l'idiot des réponses..."
0
tafiscobar
 
en fait voila, comme tu l'as dit access ne sait pas ou commence les autres requtes car contrairement aux autres bd qui respectent la fin d'une instruction par un pt virgule, access p s'en passer, donc soit tu essaies l'instruction union, soit tu parses ton txtbox et a chaque fois q tu rencontres un pt virgule, tu executes la chaine precedente jusqu'a ce que t'es tout fait( a mon avis la il te faut un caractere de fin de chaine pour le txtbox).

tafiscobar.
0