Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

d'une base de données a une autre!

7 réponses
Avatar
fabrizio-r
Bonjour a tous,=20

Ma question sera simple :

Comment faire pour transf=E9rer certains enregistrements=20
d'une base de donn=E9es ACCESS =E0 une autre, par=20
l'interm=E9diaire de VB ???

Je vous remercie d'avance,

Fabrice.

7 réponses

Avatar
jmn
Le plus simple est d'utiliser un composant de gestion de BDD non dédié,
comme ADO. Il suffit alors d'ouvrir la base Access et la base Truc est de
réaliser toutes les opérations voulues.

Dans le cas général, depuis VB5, VB supporte très bien l'utilisation
conjointe de plusieurs composants de gestion de BDD spécialisés (DAO + ADO,
DAO + dBase, etc...). Il n'y a donc aucun problème à réaliser vos opérations
d'Access vers autre chose, si cet autre chose est accessible via ADO ou via
un module spécialisé.
Avatar
fabrizio-r
Je suis tout a fait d'accord avec toi, puisque j'utilisa
ADO pour la gestion de ma base de données.
Je me suis mal exprimé dans ma question en fait, ce que
je souhaite c'est transférer certains enregistrements
d'une TABLE ACCESS à une autre, et ce sont les
instructions qui mènent à cela que je ne connai pas.

Fabrice.


-----Message d'origine-----
Le plus simple est d'utiliser un composant de gestion de


BDD non dédié,
comme ADO. Il suffit alors d'ouvrir la base Access et la


base Truc est de
réaliser toutes les opérations voulues.

Dans le cas général, depuis VB5, VB supporte très bien


l'utilisation
conjointe de plusieurs composants de gestion de BDD


spécialisés (DAO + ADO,
DAO + dBase, etc...). Il n'y a donc aucun problème à


réaliser vos opérations
d'Access vers autre chose, si cet autre chose est


accessible via ADO ou via
un module spécialisé.


.



Avatar
jmn
En SQL : insert into TableDestination select tableorigine.* from
tableorigine [where ...]

Mais cela parait tellement basique que je pense n'avoir toujours pas compris
votre problème...
Avatar
fabrice
en fait, j 'ai une application gérant des tâches de
maintenance.
ces tâches ont differentes propriétés ( nom du client,
description de la tâche, personne effectuant la
maintenance etc... ) tout ceci etant stocké dans une base
de donnée.
ces info sont accessibles dans mon aplli via ADODC et
diférents combobox.

ce que je souhaite c lors d'un clic sur un bouton "clore
la tache", toutes ces infos relatives a la tâches soients
supprimees de ma base et aillent dans une autre tables
relatives aux tâches clauses.

Fabrice.

-----Message d'origine-----
En SQL : insert into TableDestination select


tableorigine.* from
tableorigine [where ...]

Mais cela parait tellement basique que je pense n'avoir


toujours pas compris
votre problème...




.



Avatar
jmn
Si la base d'archivage est différente de la base active, sur l'évenement
clic il vous faut donc récupérer une valeur de clef univoque de la table,
puis faire quelque chose comme

Mabase.execute "insert into TableDestination in 'c:basesauvagarde.mdb'
select tableorigine.* from tableorigine where clef=" & Clef_Lue
Mabase.execute "delete * from TableOrigine where clef=" & Clef_Lue

Puis rafraichir vos controles...

Si tout est dans la même base, supprimez la clause [in 'c:.....']
Avatar
fabrizio-r
il y a une chose que je ne comprend pas, cela fonctionne
bien, mon code aussi mais le rafraichissement du contrôle
ADODB non.
Quand je fai un poind d'arret sur le rafraichissement de
l'ADODB cela fonction bien.
Mais quand je ne met pas de point d arret, le
rafraichissement ne se fait pas...

Fabrice.

-----Message d'origine-----
Si la base d'archivage est différente de la base active,


sur l'évenement
clic il vous faut donc récupérer une valeur de clef


univoque de la table,
puis faire quelque chose comme

Mabase.execute "insert into TableDestination


in 'c:basesauvagarde.mdb'
select tableorigine.* from tableorigine where clef=" &


Clef_Lue
Mabase.execute "delete * from TableOrigine where clef="


& Clef_Lue

Puis rafraichir vos controles...

Si tout est dans la même base, supprimez la clause


[in 'c:.....']


.



Avatar
Clive Lumb
Hello Fabrice,
Le datagrid est un peu feignant sur le rafraichissement des suppressions.
Normalement un "rebind" suffit - mais pas toujours. Dans un appli j'ai du
ajouter un timer qui fait un refresh 20 secondes après la suppression d'une
ligne !
Clive

"fabrizio-r" a écrit dans le message
de news:22c801c4279e$06736b80$
il y a une chose que je ne comprend pas, cela fonctionne
bien, mon code aussi mais le rafraichissement du contrôle
ADODB non.
Quand je fai un poind d'arret sur le rafraichissement de
l'ADODB cela fonction bien.
Mais quand je ne met pas de point d arret, le
rafraichissement ne se fait pas...

Fabrice.

-----Message d'origine-----
Si la base d'archivage est différente de la base active,


sur l'évenement
clic il vous faut donc récupérer une valeur de clef


univoque de la table,
puis faire quelque chose comme

Mabase.execute "insert into TableDestination


in 'c:basesauvagarde.mdb'
select tableorigine.* from tableorigine where clef=" &


Clef_Lue
Mabase.execute "delete * from TableOrigine where clef="


& Clef_Lue

Puis rafraichir vos controles...

Si tout est dans la même base, supprimez la clause


[in 'c:.....']


.