delete all table et import new table

Le
FTH
Bonjour,

avec une de mes appli, je dois régulièrement deleter toutes les tables et re
importer les tables d'une appli mise à jour.
En generale, je fais ça à la main.. mais la, je fatigue.
Je test avec les macros mais je n'arrive à aucun résultat..

Auriez vous une piste pou moi,

d'avance merci

Frédéirc
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Pierre CFI
Le #6675671
bonjour
fais une req création de table, en modifiant la source (clic droit
propriété)
ta req crée une table en écrsant la précédente
ou alors en VBA

--
Pierre CFI

*************************************************
"FTH" a écrit dans le message de news:

Bonjour,

avec une de mes appli, je dois régulièrement deleter toutes les tables et
re importer les tables d'une appli mise à jour.
En generale, je fais ça à la main.. mais la, je fatigue.
Je test avec les macros mais je n'arrive à aucun résultat..

Auriez vous une piste pou moi,

d'avance merci

Frédéirc


Eric
Le #6675651
Bonjour,

En VBA et DAO:
Sub zz()
' Charger la référence Microsoft DAO 3.x
Dim t As TableDef
For Each t In CurrentDb.TableDefs
If Left(t.Name, 4) <> "MSys" Then
CurrentDb.TableDefs.Delete t.Name
End If
Next t
End Sub

Mais attention aux relations entre les tables qui impliqueront un ordre
de suppression.



Bonjour,

avec une de mes appli, je dois régulièrement deleter toutes les tables
et re importer les tables d'une appli mise à jour.
En generale, je fais ça à la main.. mais la, je fatigue.
Je test avec les macros mais je n'arrive à aucun résultat..

Auriez vous une piste pou moi,

d'avance merci

Frédéirc


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

FTH
Le #6675631
Bonjour Eric,

la, tu ne fais que le delete si j'ai bien compris?

Frederic

"Eric" news:
Bonjour,

En VBA et DAO:
Sub zz()
' Charger la référence Microsoft DAO 3.x
Dim t As TableDef
For Each t In CurrentDb.TableDefs
If Left(t.Name, 4) <> "MSys" Then
CurrentDb.TableDefs.Delete t.Name
End If
Next t
End Sub

Mais attention aux relations entre les tables qui impliqueront un ordre de
suppression.



Bonjour,

avec une de mes appli, je dois régulièrement deleter toutes les tables et
re importer les tables d'une appli mise à jour.
En generale, je fais ça à la main.. mais la, je fatigue.
Je test avec les macros mais je n'arrive à aucun résultat..

Auriez vous une piste pou moi,

d'avance merci

Frédéirc


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr



FTH
Le #6676181
Salut Pierre,

je ne te suis pas très bien..

pour l'instant, j'arrive à quelque chose en utilisant un bout de code du
genre:

docmd.transferdatabase acimport etc..
mais pas moyen de mettre toute les table.; et bon, le faire une à une ..


Merci
Frédéric

"Pierre CFI" news:
bonjour
fais une req création de table, en modifiant la source (clic droit
propriété)
ta req crée une table en écrsant la précédente
ou alors en VBA

--
Pierre CFI

*************************************************
"FTH" a écrit dans le message de news:

Bonjour,

avec une de mes appli, je dois régulièrement deleter toutes les tables et
re importer les tables d'une appli mise à jour.
En generale, je fais ça à la main.. mais la, je fatigue.
Je test avec les macros mais je n'arrive à aucun résultat..

Auriez vous une piste pou moi,

d'avance merci

Frédéirc






FTH
Le #6676171
Eric,

en appliquant ta solution, j'ai une erreur:
the database engine could not lock table 'MsysAccessStorage' because it is
already in use by another persons or process..

Une idée?

Merci

Frédéric

"Eric" news:
Bonjour,

En VBA et DAO:
Sub zz()
' Charger la référence Microsoft DAO 3.x
Dim t As TableDef
For Each t In CurrentDb.TableDefs
If Left(t.Name, 4) <> "MSys" Then
CurrentDb.TableDefs.Delete t.Name
End If
Next t
End Sub

Mais attention aux relations entre les tables qui impliqueront un ordre de
suppression.



Bonjour,

avec une de mes appli, je dois régulièrement deleter toutes les tables et
re importer les tables d'une appli mise à jour.
En generale, je fais ça à la main.. mais la, je fatigue.
Je test avec les macros mais je n'arrive à aucun résultat..

Auriez vous une piste pou moi,

d'avance merci

Frédéirc


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr



Eric
Le #6676151
re,

Ben oui j'avais cru comprendre que c'était ça le problème.

Bonjour Eric,

la, tu ne fais que le delete si j'ai bien compris?

Frederic



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Eric
Le #6676701
Pas vraiment, la bd est partagée ?

Sinon pour tout virer et importer, quelque chose comme:

Public Function zz()
' Charger la référence Microsoft DAO 3.x
Dim t As TableDef, bd2 As Database, LaBase As String
For Each t In CurrentDb.TableDefs
If Left(t.Name, 4) <> "MSys" Then
CurrentDb.TableDefs.Delete t.Name
End If
Next t
'Adapter le chemin et le nom de la bd
LaBase = CurrentProject.Path & "bd1.mdb"
Set bd2 = Workspaces(0).OpenDatabase(LaBase)
For Each t In bd2.TableDefs
If Left(t.Name, 4) <> "MSys" Then
DoCmd.TransferDatabase acImport, "Microsoft Access", _
LaBase, acTable, t.Name, t.Name
End If
Next t
bd2.Close
Set bd2 = Nothing
RefreshDatabaseWindow
End Function

et sur l'évènement clic d'un bouton : =zz()

Eric,

en appliquant ta solution, j'ai une erreur:
the database engine could not lock table 'MsysAccessStorage' because it
is already in use by another persons or process..

Une idée?

Merci

Frédéric



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Michel_D
Le #6676691
Bonjour,

Essaye avec ceci

If LCase(Left(t.Name, 4)) <> "msys" Then


Eric,

en appliquant ta solution, j'ai une erreur:
the database engine could not lock table 'MsysAccessStorage' because it
is already in use by another persons or process..

Une idée?

Merci

Frédéric

"Eric" news:
Bonjour,

En VBA et DAO:
Sub zz()
' Charger la référence Microsoft DAO 3.x
Dim t As TableDef
For Each t In CurrentDb.TableDefs
If Left(t.Name, 4) <> "MSys" Then
CurrentDb.TableDefs.Delete t.Name
End If
Next t
End Sub

Mais attention aux relations entre les tables qui impliqueront un
ordre de suppression.



Bonjour,

avec une de mes appli, je dois régulièrement deleter toutes les
tables et re importer les tables d'une appli mise à jour.
En generale, je fais ça à la main.. mais la, je fatigue.
Je test avec les macros mais je n'arrive à aucun résultat..

Auriez vous une piste pou moi,

d'avance merci

Frédéirc


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr






FTH
Le #6683161
Ok, merci à vous,

Je test et vous fait donne un feedback

Frédéric

"Michel_D" news:
Bonjour,

Essaye avec ceci

If LCase(Left(t.Name, 4)) <> "msys" Then


Eric,

en appliquant ta solution, j'ai une erreur:
the database engine could not lock table 'MsysAccessStorage' because it
is already in use by another persons or process..

Une idée?

Merci

Frédéric

"Eric" news:
Bonjour,

En VBA et DAO:
Sub zz()
' Charger la référence Microsoft DAO 3.x
Dim t As TableDef
For Each t In CurrentDb.TableDefs
If Left(t.Name, 4) <> "MSys" Then
CurrentDb.TableDefs.Delete t.Name
End If
Next t
End Sub

Mais attention aux relations entre les tables qui impliqueront un ordre
de suppression.



Bonjour,

avec une de mes appli, je dois régulièrement deleter toutes les tables
et re importer les tables d'une appli mise à jour.
En generale, je fais ça à la main.. mais la, je fatigue.
Je test avec les macros mais je n'arrive à aucun résultat..

Auriez vous une piste pou moi,

d'avance merci

Frédéirc


--
A+
Eric
http://www.mpfa.info/
Archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr








Gloops
Le #6683581
FTH a écrit, le 21/05/2008 16:21 :
Bonjour Eric,

la, tu ne fais que le delete si j'ai bien compris?



Bonjour,

Le code pour la création d'une table attachée pourrait ressembler à ça
(j'ai remis le Delete pour qu'il ait sa place) :

DB0 : base où doit être créée la table liée (DATABASE)
nomTable : nom de la table (String)
NomFichier : chemin d'accès vers la nouvelle base (String)

If ExisteTable(DB0, nomTable) = True Then
DB0.TableDefs.Delete nomTable
Set Tb = DB0.CreateTableDef
Tb.Name = nomTable
Tb.Attributes = dbAttachExclusive
Tb.SourceTableName = nomTable
Tb.Connect = ";DATABASE=" + NomFichier
DB0.TableDefs.Append Tb
Else
MsgBox "La table " + nomTable + " n'existe pas"
End If

Je pars du principe que la table est liée vers une table du même nom
dans une base Access. Il faudra adapter si elle porte un autre nom ou
est hébergée dans une autre base.

Je pars aussi du principe que la base frontale contient une fonction
ExisteTable, dont sont proposées ça et là deux ou trois versions, b asées
soit sur une boucle sur les noms de tables, soit sur l'instruction
SysCmd(acSysCmdGetObjectState ...

Exemple :
http://www.9bit.qc.ca/~gagnem/access/acc_fonc.htm#ExisteTable

Publicité
Poster une réponse
Anonyme