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

mettre a jour une table qui va chercher ses données sur un serve ur

4 réponses
Avatar
France
Bonjour,
Je ne suis pas familière avec Acces et je voudrais être en mesure d'aller
chercher des données sur un serveur sql et que ces données soient toujours a
jour. Ex; si je supprime des données dans la table de acces et que je fais
une mise a jour et bien les données supprimer reviendront puisque la mise a
jour se fera a partir du serveur sql.

je sais que ce n'est pas dificile, mais je ne sais pas comment m'y prendre.
Mes connexion odbc sont bien faites vers mon sql server.

Merci a l'avance pour votre aide!!!

4 réponses

Avatar
FFO
Salut France

Je pense avoir eu le même souci
Je m'explique :
une base oracle avec une table dont je souhaitais extraire des occurences
selon un certain critére pour alimenter une table d'une base Access

Aprés avoir cherché posé des questions sur différents forums j'ai réussi à
obtenir satisfaction de la manière suivante :
Aprés avoir établi une connection à ma base ORACLE par la commande
wrkJet.OpenDatabase(paramètre de connexion)
Alimentation d'une table équivalente de celle d'access (même structure) dans
la base Oracle par des commandes ODBC.execute ("Requète SQL avec mes
conditions")
rapatriement de cette table en l'état dans ma base acces par la commande :
DoCmd.TransferDatabase
Insertion dans la table finale des occurences de la table rapatriée et
suppression de la table rapatriée par des commandes CurrentDb.Execute
("Requète SQL")

Toute les mentions balisées par [] doivent être actualisées de tes propres
paramètres sans maintenir les []
Important : la rubrique "Microsoft DAO (version la plus récente) Object
Library" doit être sélectionnée dans la liste des Références
(Outils/Références)
Définitions
Table : Table SQL server de même structure que la table Access à alimenter
Table source : table SQL server d'où l'on prend les données selon condition
Table importée : table Access temporaire rapatriant les donnée souhaitées
d'SQL server
Table finale : table Access à alimenter

Le code :

Public Function Table() As Boolean
'Création d'un espace de travail SQL server
Set wrkJet = CreateWorkspace("", "[User du SQL server]", "", dbUseODBC)
Set ODBC = wrkJet.OpenDatabase("[Nom du SQL server]", False, False,
"ODBC;DSN=[Service Name du SQL server];PWD=[Password du SQL server]")
'supression des occurences éventuellement présentes dans la table SQL server
ODBC.Execute "Delete from [Table] ;"
'insertion des nouvelles occurences selon conditions
ODBC.Execute "Insert into [Table] Select * from [Table source] Where
[conditions] ;"
'vérification de la présence de la table à importer dans Access avec
commande de suppression (non obligatoire mais conseillé)
For Each tdf In CurrentDb.TableDefs
If tdf.Name = "[Table importée]" Then
CurrentDb.Execute "Drop [Table importée]"
End If
Next
'Importation dans Access de la table SQL server
DoCmd.TransferDatabase acImport, "Base de données ODBC", "ODBC;DSN=[Service
Name du SQL server];PWD=[Password du SQL server]", acTable, "[Table importée
Access]", "[Table SQL server]"
'Insertion dans la table Access finale des occurences de la table rapatriée
de SQL server
CurrentDb.Execute "Insert into [Table finale] select * from [Table importée]
;"
'Suppression de la table importée d'SQL server
CurrentDb.Execute "Drop table [Table importée] ;"
wrkJet.Close
End Function


Ceci est la solution que j'ai proposée à un interlocuteur ayant "Bret" comme
pseudo le 27/02/2007 sur le Post intitullé "Synchro Access SQl Server dans
Access" qui en a été tout à fait satisfait
Tu peux le consulter

Tiens moi informé du résultat



Bonjour,
Je ne suis pas familière avec Acces et je voudrais être en mesure d'aller
chercher des données sur un serveur sql et que ces données soient toujours a
jour. Ex; si je supprime des données dans la table de acces et que je fais
une mise a jour et bien les données supprimer reviendront puisque la mise a
jour se fera a partir du serveur sql.

je sais que ce n'est pas dificile, mais je ne sais pas comment m'y prendre.
Mes connexion odbc sont bien faites vers mon sql server.

Merci a l'avance pour votre aide!!!


Avatar
ze Titi
Hello France !

Si tu as construit une liaison ODBC, tu as donc (ou tu peux donc) lier
ta table dans Access (Fichier | Données Externes | Lier les tables;
Dans le type de fichier, tu sélectionnes "Base de données ODBC", ta
base et finalement la table correspondante). Grâce à cette liaison, tu
peux travailler directement sur la table et avoir tes données à jour.
Ou alors j'ai mal compris l'énoncé du problème... Ce qui, les Pierre(s)
pourront confirmer, m'arrive régulièrement...

Bonjour,
Je ne suis pas familière avec Acces et je voudrais être en mesure d'aller
chercher des données sur un serveur sql et que ces données soient toujours a
jour. Ex; si je supprime des données dans la table de acces et que je fais
une mise a jour et bien les données supprimer reviendront puisque la mise a
jour se fera a partir du serveur sql.

je sais que ce n'est pas dificile, mais je ne sais pas comment m'y prendre.
Mes connexion odbc sont bien faites vers mon sql server.

Merci a l'avance pour votre aide!!!


--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info

Avatar
Fabien
Bonjour,
Je ne suis pas familière avec Acces et je voudrais être en mesure d'aller
chercher des données sur un serveur sql et que ces données soient toujours a
jour. Ex; si je supprime des données dans la table de acces et que je fais
une mise a jour et bien les données supprimer reviendront puisque la mise a
jour se fera a partir du serveur sql.

je sais que ce n'est pas dificile, mais je ne sais pas comment m'y prendre.
Mes connexion odbc sont bien faites vers mon sql server.

Merci a l'avance pour votre aide!!!
Bonjour France,

Où en es tu ?
Tes tables SQL sont elles déjà liées a ta base Access ?
Tes Formulaires existent ils ?
Si je comprend bien ses formulaires ne servent qu'a consulter les
données issues du serveur SQL ? Car pourquoi modifier ou supprimer des
données qui de toutes façon remonteront lors de la mise à jour suivante ?
A Toi
Fabien

Avatar
France
Allo,
Donc, vous avez bien comprit mon problème et ce que c'est suposer donner. En
fait, connexion odbc sur ma databse sql, je veux avoir les data dans ma table
acces, mais justement la est le problème, c'est que les données ne sont pas a
jour. Quand je crée ma table, ensuite pour tester j'ai supprimé env 20 mille
entrées et ensuite j'ai actualisé les données pour voir si les données que
j'avais supprimé allait a nouveau se retrouver dans ma table, mais niet,
nada... en faisant cela, je voulais m'assurer que mes données étaient
toujours a jour. De toute évidence non. Les données viennent bel et bien de
ma base de donnée de sql.
Pourquoi est ce que ma table ne se met pas a jour?

Merci


Bonjour France,
Où en es tu ?
Tes tables SQL sont elles déjà liées a ta base Access ?
Tes Formulaires existent ils ?
Si je comprend bien ses formulaires ne servent qu'a consulter les
données issues du serveur SQL ? Car pourquoi modifier ou supprimer des
données qui de toutes façon remonteront lors de la mise à jour suivante ?
A Toi
Fabien