Récupération de table automatique de Sage vers Access

Forum consacré aux développements d'applications interfacées avec les logiciels Sage

Modérateurs: Super Modérateur, Modérateurs

Règles du forum
Merci de prendre connaissance des règles d'utilisation du forum

Avant de poster un nouveau message, utilisez la fonction RECHERCHER. Indiquez la VERSION de votre logiciel et toutes informations utiles à la résolution de votre question. Ne rédigez pas vos messages en MAJUSCULES. Soyez courtois et pensez aux formules de POLITESSE d'usage. Les messages à vocation COMMERCIALE ou PUBLICITAIRE seront supprimés.

*** LORSQU'UN SUJET EST RESOLU, SON AUTEUR DOIT EDITER LE 1ER MESSAGE DU SUJET EN HAUT DE PAGE ET COCHER "SUJET RESOLU" ***

Récupération de table automatique de Sage vers Access

Messagede Thibaut76 » Mar 25 Mai 2010 16:33

Bonjour,

J'aimerais savoir si il était possible de rafraichir automatiquement une table que l'on récupère de Sage, de façon à qu'elle soit rafraichie à une certaine fréquence sous Access afin de sauvegarder toutes les lignes qui apparaissent.

Cela a pour but de récupérer les bons de livraisons(qui sont supprimé lors de la transformation en facture) de la table F_DOCLIGNE et de les afficher sous Access, permettant d'afficher les produits à sortir sur le site de production.
Thibaut76
Posteur néophyte
Posteur néophyte
 
Messages: 2
Inscription: Ven 21 Mai 2010 18:14

Re: Récupération de table automatique de Sage vers Access

Messagede laurent ga » Jeu 27 Mai 2010 12:59

dans access, l'importation de table via odbc fonctionne.
Je pense que vous prendrez comme importation "pas de table liée" (cad que les modifs de la table sous access ne soient pas répercutéés dans Sage).
Vous pouvez enregistrer l'importation et la relancer quand vous voulez via le gestionnaire de taches de Outlook.
Par contre, lors d'une nouvelle importation votre table la table F_DOCLIGNE ne va pas etre écrasée par la nouvelle.
La nouvelle table va s'appeler F_DOCLIGNE1.
Si il y a des requetes, des liaisons entre les tables elles ne suivront évidemment pas la nouvelle table.
La procédure est d'effacer les champs de l'ancienne table, remplir les champs avec la nouvelle table, et supprimer la table précédemment importée.
Voici qq lignes de codes que l'on ma gentiment donné sur un autre forum et qui seront à adapter à votre convenance:

Sub Importer_Tables()
Dim Db As DAO.Database
Dim rst As DAO.Recordset
Dim tbd As DAO.TableDef
Dim cOldName As String


On Error GoTo Importer_Tables_Error

Set Db = CurrentDb
DoCmd.SetWarnings (False)

'importer les tables à partir de la procédure enregistrée «
importation2 »
DoCmd.RunSavedImportExport ("importation2")

For Each tbd In Db.TableDefs

If Right(tbd.Name, 1) = "1" And Left(tbd.Name, 6) = "dbaa85" Then
'Si le nom de la table se termine par '1' et commence par
'dbaa85"
cOldName = Left(tbd.Name, Len(tbd.Name) - 1)

'cOldName : nom de la table moins le "1" final

If (DCount("*", "MSysObjects", "Name='" & cOldName & "'") > 0)
Then

'Si cOldName existe, on supprime ses enregistrements

Db.Execute "delete * from " & cOldName & ""

'et on rajoute les ENREGISTREMENTS de la table en cours (qui
se termine par 1)

Db.Execute "INSERT INTO " & cOldName & " SELECT * FROM " &
tbd.Name

'Supprimer les TABLES nouvellement importées (qui se
terminent par 1 : exemple dbaa85_ind1 )
Db.Execute "drop table " & tbd.Name

End If
End If
Next


rst.Close
Db.Close

Set rst = Nothing
Set Db = Nothing

DoCmd.SetWarnings (True)



MsgBox "Mise à jour des tables terminée !" & vbCrLf & vbCrLf & "La base
va être fermée automatiquement pour compactage..."
'Pour fermer la base de données

'DoCmd.Quit
' Application.Quit acQuitSaveAll
Application.CloseCurrentDatabase

On Error GoTo 0
Exit Sub

Importer_Tables_Error:

MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure
Importer_Tables of Module Import_Tables"

End Sub
Ligne 100 pack + / V10.01
V15 en démonstration
laurent ga
Super Contributeur
Super Contributeur
 
Messages: 356
Inscription: Mer 5 Avr 2006 10:47


Retourner vers Développements ODBC, Objets métiers, SQL

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités