Pilote ODBC + requête SQL

Le
news.skynet.be
Bonjour à Toutes et à Tous,

Je vous soumet un petit souci pour lequel vos connaissances m'aideront
certainement.

Pré-requis:

Une BD format SQLite3 qui contient plusieurs tables et dont la table qui
m'intérresse contient plus de 375 champs. Cette BD n'est pas modifiable car
propriétaire.
Un driver ODBC SQLite3 qui est installé sur la machine et fonctionne
parfaitement.
Une base de données Access (format 2003).

Vu que le driver importe automatiquement les champs de la BD SQLite, il
importe les 256 premiers champs de la table SQLite.

Or, je n'ai pas besoin de tous les premiers champs mais au contraire, des
dernbiers champs, voir de choisir les champs qui m'intérressent.

Donc, j'aurais souhaité utiliser une requête avec MSQuery32. Le requête
fonctionne bien sur les champs que je désire. Cette requête est utilisable
avec MSExcel mais pas avec MSAccess.

L'idéal aurait été de pouvoir utiliser le driver ODBC avec une requête (.dqy
ou .qry) dans Access.

Quelq'un, quelqu'une, peut il m'aider ?


Merci de votre sollicitude.

Dominique (Novice en utilisation d'Access)
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fabien
Le #18631251
news.skynet.be a écrit :
Bonjour à Toutes et à Tous,

Je vous soumet un petit souci pour lequel vos connaissances m'aideront
certainement.

Pré-requis:

Une BD format SQLite3 qui contient plusieurs tables et dont la table qui
m'intérresse contient plus de 375 champs. Cette BD n'est pas modifiable car
propriétaire.
Un driver ODBC SQLite3 qui est installé sur la machine et fonctionne
parfaitement.
Une base de données Access (format 2003).

Vu que le driver importe automatiquement les champs de la BD SQLite, il
importe les 256 premiers champs de la table SQLite.

Or, je n'ai pas besoin de tous les premiers champs mais au contraire, des
dernbiers champs, voir de choisir les champs qui m'intérressent.

Donc, j'aurais souhaité utiliser une requête avec MSQuery32. Le requête
fonctionne bien sur les champs que je désire. Cette requête est utilisable
avec MSExcel mais pas avec MSAccess.

L'idéal aurait été de pouvoir utiliser le driver ODBC avec une requête (.dqy
ou .qry) dans Access.

Quelq'un, quelqu'une, peut il m'aider ?


Merci de votre sollicitude.

Dominique (Novice en utilisation d'Access)




Salut Dominique
Peut-être qu'en passant par une requete Directe
En s'inspirant de l'exemple ci dessous
"
La commande SQL TRUNCATE n'est pas reconnue par Access. Il faut donc
utiliser une requête SQL Direct pour passer l'ordre SQL directement au
moteur de base de données (MySQL) par exemple.

Vous pouvez ainsi exécuter n'importe quelle requête compatible avec le
serveur qui était incompatible avec le SQL de Jet.


1. Créez la liaison ODBC avec le gestionnaire de liaisons (Démarrer ->
paramètres -> source de données ODBC). Dans cet exemple, la base
s'appelle "base_MySQL" sur le serveur "nom_du_serveur"


2. Créez la requête avec Créer une requête en mode création. Fermez la
liste des tables et requêtes. Clic droit sur la table -> Spécifique SQL
-> SQL Direct


3. Ecrivez la requête


TRUNCATE Matable;


4. Dans la barre de titre de la requête, clic droit -> propriétés
->Chaîne connexion ODBC : Indiquez le chemin de connexion sous la forme


ODBC;DATABASEºse_MySQL;DSNºse_MySQL;OPTION=0;PORT=0;SERVER=nom_du_serveur;


5. Exécutez la requête. Un message d'avertissement apparaît car la
requête ne renvoie rien (forcément, c'est une requête de destruction de
données !).


Pour éviter ce message, vous pouvez modifier la propriété Renvoie enr.
de la requête SQL Direct à Non.
"
extrait de http://access.developpez.com/faq/?page=Concept

A aménager bien-sur.
@+
GG
Le #18639511
Fabien avait énoncé :
news.skynet.be a écrit :
Bonjour à Toutes et à Tous,

Je vous soumet un petit souci pour lequel vos connaissances m'aideront
certainement.

Pré-requis:

Une BD format SQLite3 qui contient plusieurs tables et dont la table qui
m'intérresse contient plus de 375 champs. Cette BD n'est pas modifiable car
propriétaire.
Un driver ODBC SQLite3 qui est installé sur la machine et fonctionne
parfaitement.
Une base de données Access (format 2003).

Vu que le driver importe automatiquement les champs de la BD SQLite, il
importe les 256 premiers champs de la table SQLite.

Or, je n'ai pas besoin de tous les premiers champs mais au contraire, des
dernbiers champs, voir de choisir les champs qui m'intérressent.

Donc, j'aurais souhaité utiliser une requête avec MSQuery32. Le requête
fonctionne bien sur les champs que je désire. Cette requête est utilisable
avec MSExcel mais pas avec MSAccess.

L'idéal aurait été de pouvoir utiliser le driver ODBC avec une requête
(.dqy ou .qry) dans Access.

Quelq'un, quelqu'une, peut il m'aider ?


Merci de votre sollicitude.

Dominique (Novice en utilisation d'Access)




Salut Dominique
Peut-être qu'en passant par une requete Directe
En s'inspirant de l'exemple ci dessous
"
La commande SQL TRUNCATE n'est pas reconnue par Access. Il faut donc utiliser
une requête SQL Direct pour passer l'ordre SQL directement au moteur de base
de données (MySQL) par exemple.

Vous pouvez ainsi exécuter n'importe quelle requête compatible avec le
serveur qui était incompatible avec le SQL de Jet.


1. Créez la liaison ODBC avec le gestionnaire de liaisons (Démarrer ->
paramètres -> source de données ODBC). Dans cet exemple, la base s'appelle
"base_MySQL" sur le serveur "nom_du_serveur"


2. Créez la requête avec Créer une requête en mode création. Fermez la liste
des tables et requêtes. Clic droit sur la table -> Spécifique SQL -> SQL
Direct


3. Ecrivez la requête


TRUNCATE Matable;


4. Dans la barre de titre de la requête, clic droit -> propriétés ->Chaîne
connexion ODBC : Indiquez le chemin de connexion sous la forme


ODBC;DATABASEºse_MySQL;DSNºse_MySQL;OPTION=0;PORT=0;SERVER=nom_du_serveur;


5. Exécutez la requête. Un message d'avertissement apparaît car la requête ne
renvoie rien (forcément, c'est une requête de destruction de données !).


Pour éviter ce message, vous pouvez modifier la propriété Renvoie enr. de la
requête SQL Direct à Non.
"
extrait de http://access.developpez.com/faq/?page=Concept

A aménager bien-sur.
@+



1) Merci

2) Je teste

3) Si çà marche, grand Merci

Si NON juis-je encore vous ennuyer?


Merci
Publicité
Poster une réponse
Anonyme