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

Exporter vers Acces sans doublons

8 réponses
Avatar
remigo
Bonjour,

maintenant que mon exporte vers access fonctionne, je voudrais savoir
comment exporter mes données sans doublons

Voici le code que j'utilise:
_________________________________
Sub ExporterVersAccess()

Dim bd As DAO.Database
Dim Rst As DAO.Recordset

nomfeuille = ActiveCell.Worksheet.Name
With Worksheets(nomfeuille)
.Range("H1:A" & .Range("A65536").End(xlUp).Row).Name = "Plage"
End With

Set bd = OpenDatabase(ActiveWorkbook.FullName, False, False, "excel 8.0")

bd.Execute "INSERT INTO TAnalyseTest IN
'P:\geologie\doc\statistiques\statistiques.mdb ' SELECT * FROM [Plage]"
ActiveWorkbook.Names("Plage").Delete
bd.Close
Set bd = Nothing
End Sub
_____________________________________________

Merci!

8 réponses

Avatar
JB
Bonjour,

Il faut utiliser l'option Group By:

Sql = "INSERT INTO TAnalyseTest IN 'xxx.MDB' SELECT
champ1,champ2,champ3,.. FROM [Plage] Group BY champ1,champ2,champ3,.. "

Cordialement JB



Bonjour,

maintenant que mon exporte vers access fonctionne, je voudrais savoir
comment exporter mes données sans doublons

Voici le code que j'utilise:
_________________________________
Sub ExporterVersAccess()

Dim bd As DAO.Database
Dim Rst As DAO.Recordset

nomfeuille = ActiveCell.Worksheet.Name
With Worksheets(nomfeuille)
.Range("H1:A" & .Range("A65536").End(xlUp).Row).Name = "Plage"
End With

Set bd = OpenDatabase(ActiveWorkbook.FullName, False, False, "excel 8.0 ")

bd.Execute "INSERT INTO TAnalyseTest IN
'P:geologiedocstatistiquesstatistiques.mdb ' SELECT * FROM [Plage]"
ActiveWorkbook.Names("Plage").Delete
bd.Close
Set bd = Nothing
End Sub
_____________________________________________

Merci!


Avatar
remigo
Je crois que je me suis mal exprimé.

Je voulais dire comment faire pour ne pas exporter deux fois les même données

Merci!


Bonjour,

Il faut utiliser l'option Group By:

Sql = "INSERT INTO TAnalyseTest IN 'xxx.MDB' SELECT
champ1,champ2,champ3,.. FROM [Plage] Group BY champ1,champ2,champ3,.. "

Cordialement JB



Bonjour,

maintenant que mon exporte vers access fonctionne, je voudrais savoir
comment exporter mes données sans doublons

Voici le code que j'utilise:
_________________________________
Sub ExporterVersAccess()

Dim bd As DAO.Database
Dim Rst As DAO.Recordset

nomfeuille = ActiveCell.Worksheet.Name
With Worksheets(nomfeuille)
.Range("H1:A" & .Range("A65536").End(xlUp).Row).Name = "Plage"
End With

Set bd = OpenDatabase(ActiveWorkbook.FullName, False, False, "excel 8.0")

bd.Execute "INSERT INTO TAnalyseTest IN
'P:geologiedocstatistiquesstatistiques.mdb ' SELECT * FROM [Plage]"
ActiveWorkbook.Names("Plage").Delete
bd.Close
Set bd = Nothing
End Sub
_____________________________________________

Merci!






Avatar
MichDenis
Ce qui suit ... je n'ai pas eu l'occasion de le tester avec DAO,

Si dans ta table de données Access, tu modifies la propriété
du champ sur lequel tu ne veux pas de doublons( clé primaire
par exemple) lorsque l'on fait une requête directement dans Access,
Access refuse automatiquement (de lui-même) de transgresser
les propriétés de la table, et il crée une table d'erreur dans laquelle
il insère les doublons laissant passer les enregistrements qui ne
constituent pas un doublon.

As-tu essayé cette astuce sur le champ dont tu veux éviter les doublons ?
En utilisant le même code ?



"remigo" a écrit dans le message de news:

Je crois que je me suis mal exprimé.

Je voulais dire comment faire pour ne pas exporter deux fois les même données

Merci!


Bonjour,

Il faut utiliser l'option Group By:

Sql = "INSERT INTO TAnalyseTest IN 'xxx.MDB' SELECT
champ1,champ2,champ3,.. FROM [Plage] Group BY champ1,champ2,champ3,.. "

Cordialement JB



Bonjour,

maintenant que mon exporte vers access fonctionne, je voudrais savoir
comment exporter mes données sans doublons

Voici le code que j'utilise:
_________________________________
Sub ExporterVersAccess()

Dim bd As DAO.Database
Dim Rst As DAO.Recordset

nomfeuille = ActiveCell.Worksheet.Name
With Worksheets(nomfeuille)
.Range("H1:A" & .Range("A65536").End(xlUp).Row).Name = "Plage"
End With

Set bd = OpenDatabase(ActiveWorkbook.FullName, False, False, "excel 8.0")

bd.Execute "INSERT INTO TAnalyseTest IN
'P:geologiedocstatistiquesstatistiques.mdb ' SELECT * FROM [Plage]"
ActiveWorkbook.Names("Plage").Delete
bd.Close
Set bd = Nothing
End Sub
_____________________________________________

Merci!






Avatar
FxM
Bonjour,

Peut-être avec un SELECT DISTINCT au lieu de SELECT ?

@+
FxM



Bonjour,

Il faut utiliser l'option Group By:

Sql = "INSERT INTO TAnalyseTest IN 'xxx.MDB' SELECT
champ1,champ2,champ3,.. FROM [Plage] Group BY champ1,champ2,champ3,.. "

Cordialement JB



Bonjour,

maintenant que mon exporte vers access fonctionne, je voudrais savoir
comment exporter mes données sans doublons

Voici le code que j'utilise:
_________________________________
Sub ExporterVersAccess()

Dim bd As DAO.Database
Dim Rst As DAO.Recordset

nomfeuille = ActiveCell.Worksheet.Name
With Worksheets(nomfeuille)
.Range("H1:A" & .Range("A65536").End(xlUp).Row).Name = "Plage"
End With

Set bd = OpenDatabase(ActiveWorkbook.FullName, False, False, "excel 8.0")

bd.Execute "INSERT INTO TAnalyseTest IN
'P:geologiedocstatistiquesstatistiques.mdb ' SELECT * FROM [Plage]"
ActiveWorkbook.Names("Plage").Delete
bd.Close
Set bd = Nothing
End Sub
_____________________________________________

Merci!





Avatar
JB
S'il s'agit de vider la table TAnalyseTest pour exporter les nouvelles
valeurs, placer avant INSERT.

bd.Execute "DELETE FROM TAnalyseTest IN 'xxx.MDB' "

JB


Je crois que je me suis mal exprimé.

Je voulais dire comment faire pour ne pas exporter deux fois les même d onnées

Merci!


Bonjour,

Il faut utiliser l'option Group By:

Sql = "INSERT INTO TAnalyseTest IN 'xxx.MDB' SELECT
champ1,champ2,champ3,.. FROM [Plage] Group BY champ1,champ2,champ3,.. "

Cordialement JB



Bonjour,

maintenant que mon exporte vers access fonctionne, je voudrais savoir
comment exporter mes données sans doublons

Voici le code que j'utilise:
_________________________________
Sub ExporterVersAccess()

Dim bd As DAO.Database
Dim Rst As DAO.Recordset

nomfeuille = ActiveCell.Worksheet.Name
With Worksheets(nomfeuille)
.Range("H1:A" & .Range("A65536").End(xlUp).Row).Name = "Plage"
End With

Set bd = OpenDatabase(ActiveWorkbook.FullName, False, False, "excel 8.0")

bd.Execute "INSERT INTO TAnalyseTest IN
'P:geologiedocstatistiquesstatistiques.mdb ' SELECT * FROM [Plage ]"
ActiveWorkbook.Names("Plage").Delete
bd.Close
Set bd = Nothing
End Sub
_____________________________________________

Merci!








Avatar
remigo
Merci MichDenis,

Ça fonctionne, sauf que j'aimerais savoir si j'ai déjà exporter mes données,
et si je veux les remplacer

Merci encore une fois




Ce qui suit ... je n'ai pas eu l'occasion de le tester avec DAO,

Si dans ta table de données Access, tu modifies la propriété
du champ sur lequel tu ne veux pas de doublons( clé primaire
par exemple) lorsque l'on fait une requête directement dans Access,
Access refuse automatiquement (de lui-même) de transgresser
les propriétés de la table, et il crée une table d'erreur dans laquelle
il insère les doublons laissant passer les enregistrements qui ne
constituent pas un doublon.

As-tu essayé cette astuce sur le champ dont tu veux éviter les doublons ?
En utilisant le même code ?



"remigo" a écrit dans le message de news:

Je crois que je me suis mal exprimé.

Je voulais dire comment faire pour ne pas exporter deux fois les même données

Merci!


Bonjour,

Il faut utiliser l'option Group By:

Sql = "INSERT INTO TAnalyseTest IN 'xxx.MDB' SELECT
champ1,champ2,champ3,.. FROM [Plage] Group BY champ1,champ2,champ3,.. "

Cordialement JB



Bonjour,

maintenant que mon exporte vers access fonctionne, je voudrais savoir
comment exporter mes données sans doublons

Voici le code que j'utilise:
_________________________________
Sub ExporterVersAccess()

Dim bd As DAO.Database
Dim Rst As DAO.Recordset

nomfeuille = ActiveCell.Worksheet.Name
With Worksheets(nomfeuille)
.Range("H1:A" & .Range("A65536").End(xlUp).Row).Name = "Plage"
End With

Set bd = OpenDatabase(ActiveWorkbook.FullName, False, False, "excel 8.0")

bd.Execute "INSERT INTO TAnalyseTest IN
'P:geologiedocstatistiquesstatistiques.mdb ' SELECT * FROM [Plage]"
ActiveWorkbook.Names("Plage").Delete
bd.Close
Set bd = Nothing
End Sub
_____________________________________________

Merci!











Avatar
MichDenis
Moi, pas comprendre ta demande, soit plus explicite.


"remigo" a écrit dans le message de news:

Merci MichDenis,

Ça fonctionne, sauf que j'aimerais savoir si j'ai déjà exporter mes données,
et si je veux les remplacer

Merci encore une fois




Ce qui suit ... je n'ai pas eu l'occasion de le tester avec DAO,

Si dans ta table de données Access, tu modifies la propriété
du champ sur lequel tu ne veux pas de doublons( clé primaire
par exemple) lorsque l'on fait une requête directement dans Access,
Access refuse automatiquement (de lui-même) de transgresser
les propriétés de la table, et il crée une table d'erreur dans laquelle
il insère les doublons laissant passer les enregistrements qui ne
constituent pas un doublon.

As-tu essayé cette astuce sur le champ dont tu veux éviter les doublons ?
En utilisant le même code ?



"remigo" a écrit dans le message de news:

Je crois que je me suis mal exprimé.

Je voulais dire comment faire pour ne pas exporter deux fois les même données

Merci!


Bonjour,

Il faut utiliser l'option Group By:

Sql = "INSERT INTO TAnalyseTest IN 'xxx.MDB' SELECT
champ1,champ2,champ3,.. FROM [Plage] Group BY champ1,champ2,champ3,.. "

Cordialement JB



Bonjour,

maintenant que mon exporte vers access fonctionne, je voudrais savoir
comment exporter mes données sans doublons

Voici le code que j'utilise:
_________________________________
Sub ExporterVersAccess()

Dim bd As DAO.Database
Dim Rst As DAO.Recordset

nomfeuille = ActiveCell.Worksheet.Name
With Worksheets(nomfeuille)
.Range("H1:A" & .Range("A65536").End(xlUp).Row).Name = "Plage"
End With

Set bd = OpenDatabase(ActiveWorkbook.FullName, False, False, "excel 8.0")

bd.Execute "INSERT INTO TAnalyseTest IN
'P:geologiedocstatistiquesstatistiques.mdb ' SELECT * FROM [Plage]"
ActiveWorkbook.Names("Plage").Delete
bd.Close
Set bd = Nothing
End Sub
_____________________________________________

Merci!











Avatar
JB
Dim bd As DAO.Database
Set bd = OpenDatabase(ActiveWorkbook.FullName, False, False, "excel
8.0")
bd.Execute "DELETE FROM client IN 'xxxx.mdb'" ' vide la
table
bd.Execute "INSERT INTO client IN 'xxx.mdb' SELECT * FROM [Plage]"
bd.Close
Set bd = Nothing

JB

Merci MichDenis,

Ça fonctionne, sauf que j'aimerais savoir si j'ai déjà exporter mes données,
et si je veux les remplacer

Merci encore une fois




Ce qui suit ... je n'ai pas eu l'occasion de le tester avec DAO,

Si dans ta table de données Access, tu modifies la propriété
du champ sur lequel tu ne veux pas de doublons( clé primaire
par exemple) lorsque l'on fait une requête directement dans Access,
Access refuse automatiquement (de lui-même) de transgresser
les propriétés de la table, et il crée une table d'erreur dans la quelle
il insère les doublons laissant passer les enregistrements qui ne
constituent pas un doublon.

As-tu essayé cette astuce sur le champ dont tu veux éviter les doub lons ?
En utilisant le même code ?



"remigo" a écrit dans le message d e news:

Je crois que je me suis mal exprimé.

Je voulais dire comment faire pour ne pas exporter deux fois les même données

Merci!


Bonjour,

Il faut utiliser l'option Group By:

Sql = "INSERT INTO TAnalyseTest IN 'xxx.MDB' SELECT
champ1,champ2,champ3,.. FROM [Plage] Group BY champ1,champ2,champ3,.. "

Cordialement JB



Bonjour,

maintenant que mon exporte vers access fonctionne, je voudrais savo ir
comment exporter mes données sans doublons

Voici le code que j'utilise:
_________________________________
Sub ExporterVersAccess()

Dim bd As DAO.Database
Dim Rst As DAO.Recordset

nomfeuille = ActiveCell.Worksheet.Name
With Worksheets(nomfeuille)
.Range("H1:A" & .Range("A65536").End(xlUp).Row).Name = "Plage"
End With

Set bd = OpenDatabase(ActiveWorkbook.FullName, False, False, "exc el 8.0")

bd.Execute "INSERT INTO TAnalyseTest IN
'P:geologiedocstatistiquesstatistiques.mdb ' SELECT * FROM [Pla ge]"
ActiveWorkbook.Names("Plage").Delete
bd.Close
Set bd = Nothing
End Sub
_____________________________________________

Merci!