bricoyeye
Messages postés326Date d'inscriptionvendredi 15 avril 2005StatutMembreDernière intervention29 avril 2008
-
4 oct. 2006 à 19:18
Boudchiche
Messages postés59Date d'inscriptionvendredi 8 octobre 2004StatutMembreDernière intervention25 novembre 2006
-
7 oct. 2006 à 16:37
Bonjour,
Je voudrais savoir comment mettre à jour une base de donnée access par rapport à une base principale.
Je m’explique :
J’ai une base de donnée sur un PC que je mets à jour régulièrement (id_clients, clients, facture_clients etc..)
J’ai des clefs USB avec une BD identique au PC, qui servent sur des portables.
Pour ce qui est de la détection de la clef etc.. çà marche, ce que je voudrais c’est mettre les données inexistantes de la DB de la clef, par rapport aux données de la DB du PC .
Je travaille sur VB6 en ADO.
Merci pour vos conseilles
<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
Je précise que les clefs sont nominatives, donc je ne peux pas faire un enregistrement direct…
chaibat05
Messages postés1883Date d'inscriptionsamedi 1 avril 2006StatutMembreDernière intervention20 novembre 20072 5 oct. 2006 à 21:21
onsoir,
Excuses_moi, mais d' après ta réponse
^^Mais comment fait-on une requête ?
j' avais compris autre chose
Si tu n' as pas encore trouvé ce que tu cherchais.
voici un exemple :
Supposons que tu as une table Factures dans "C:\...."
et la même dans "F:...'" (par exemple,
commences par transférer cette dernière dans une
table temporaire (TMP_FACTURES),
ensuite tu pourras faire une requête de non correspondance
entre TMP_FACTURES FACTURES comme ceci :
REQUETE_1
"SELECT DISTINCTROW FACTURES.ref_fac, FACTURES.dat_fac,...etc" _
& " FROM FACTURES LEFT JOIN TMP_FACTURE" _
& " ON FACTURES.ref_fac = TMP_FACTURE.ref_fac" _
WHERE (((TMP_FACTURES.ref_fac) Is Null));"
le résultat serait: toutes les références des factures qui sont dans
TMP_FACTURES (issue de FACTURES IN "F:\....") et qui n' existent
pas dans FACTURES dans "C:\....".
Tu insères ensuite dans FACTURES tious les enregistrement qui
correspondent à ces références.
Tu pourras t' exercer à ce genre de requête avec "L' assistant
création de requête" dans ACCESS.
chaibat05
Messages postés1883Date d'inscriptionsamedi 1 avril 2006StatutMembreDernière intervention20 novembre 20072 5 oct. 2006 à 00:16
Bonsoir,
la réponse est dans ta question :
¨^^données inexistantes de la DB de la clef,
par rapport aux données de la DB du PC
ce qui revient à dire:
1° Créer une première requête de non correspondance
2° Faire une seconde requête Insertion qui ajoute tout
les enregistrements de ta première requête.
chaibat05
Messages postés1883Date d'inscriptionsamedi 1 avril 2006StatutMembreDernière intervention20 novembre 20072 5 oct. 2006 à 14:35
Bonjour,
tu parles des requêtes en générale ?
si c' est ça alors ça se complique un peu !
Le mieux serait que tu cherches un Tutorial qui
traite du sujet : ça serait trop long à expliquer sur
un topic , n' est-ce pas ?
amicalement
Vous n’avez pas trouvé la réponse que vous recherchez ?
bricoyeye
Messages postés326Date d'inscriptionvendredi 15 avril 2005StatutMembreDernière intervention29 avril 20082 5 oct. 2006 à 19:12
Non, simplement une requête de non correspondance.
Mais bon, je vais me débrouiller autrement
Il y a un exemple dans les codes , mais c'est en .Net!!!
Merci pour tes réponses.
Boudchiche
Messages postés59Date d'inscriptionvendredi 8 octobre 2004StatutMembreDernière intervention25 novembre 2006 6 oct. 2006 à 12:20
salut chaibat
est ce que tu peut m'explique s'il te plais comment on fait pour le chemin a la base et est ce que vous faite deux connection ou quoi, parceque la j'arrive pas a vous suivre et pour la base lorsque tu lui dit de la transfere ca veut dire de la mettre dans le meme chemin que la premiere.
Si vous pouvez me donner un exmple ca serai simpat
Merci
chaibat05
Messages postés1883Date d'inscriptionsamedi 1 avril 2006StatutMembreDernière intervention20 novembre 20072 6 oct. 2006 à 20:48
Bonsoir,
Si j' ai bien compris ta question, tu veux savoir comment
on peut faire référence à deux bases de données placées
dans deux emplacements différents :
Tu n' as pas besoin d' établir une seconde connection.
Tu restes sur ta connection à ta base active et tu utilises
simplement le mot reservé "IN" pour faire référence à
ta base externe.
Prenant l' exemple précédent
Pour copier la table FACTURES située dans "F:\MaBase.mdb"
dans TMP_FACTURES située dans "C:\MaBase.mdb"
Si ta connection est sur "C:\MaBase.mdb" et que tu prévois
dans ton programme une procédure du mise à jour,sous forme
de "Importer "; tu récupères le chemin de ta base externe
dans une variable chaine,
Dim cExterne as string
cExterne="F:\MaBase.mdb" ,
ou par CommonDialog :
cExterne = CommonDialog.FileName
ta requete Insertion se présentera ainsi :
"INSERT INTO TMP_FACTURES SELECT * FROM" _
& " FACTURES IN '" & cExterne & "';"