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

delete all table et import new table

13 réponses
Avatar
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

10 réponses

1 2
Avatar
Pierre CFI
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


Avatar
Eric
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

Avatar
FTH
Bonjour Eric,

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

Frederic

"Eric" wrote in message
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



Avatar
FTH
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" wrote in message
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






Avatar
FTH
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" wrote in message
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



Avatar
Eric
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

Avatar
Eric
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

Avatar
Michel_D
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" wrote in message
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






Avatar
FTH
Ok, merci à vous,

Je test et vous fait donne un feedback

Frédéric

"Michel_D" wrote in message
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" wrote in message
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








Avatar
Gloops
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

1 2