comment enregistrer des données à partir de ms acess front end à ms sql backend?comment enregistrer des données à partir de ms acess front end à ms sql backend?
Répondre
Il est presque toujours préférable d'utiliser des tables liées. Cela rend la vie beaucoup plus facile, car vous pouvez mettre à jour les tables et les vues SQL Server plus ou moins de la même manière que vous mettez à jour une table Access. Un autre bon moyen est d'utiliser des requêtes de passe: http://support.microsoft.com/kb/303968
Cela étant dit, voici quelques notes brutes.
La meilleure façon d'obtenir une chaîne ODBC utile est de lier une table à l'aide de l'assistant, vous pouvez le regarder à l'aide CurrentDB.TableDefs("NameOfLinkedTable").Connect
Vous pouvez utiliser la chaîne comme ceci:
Dim db As Database
Set db = CurrentDb
strConnect = "ODBC;Description=Test;DRIVER=SQL Server;" _
& "SERVER=ServerAddress;Trusted_Connection=Yes;DATABASE=DBName"
strSQL = "INSERT INTO [" & strConnect & "].[SomeSQLServerTable] (ID, AText) " _
& "SELECT a.ID, a.Descr FROM SomeAccessTable As a " _
& "LEFT JOIN [" & strConnect & "].[SomeSQLServerTable] s " _
& "ON s.ID=a.ID " _
& "WHERE s.ID Is Null"
db.Execute strSQL, dbFailOnError
Debug.Print db.RecordsAffected
Vous peut également mettre à jour avec ADO. Il y a beaucoup d'informations se trouvent ici: http://msdn.microsoft.com/en-us/library/ms130978.aspx Vous pouvez obtenir des chaînes de connexion ici: http://www.connectionstrings.com/
Et quelques-unes des choses bizarres que vous pouvez faire:
Dim cn As New ADODB.Connection
Dim RecsAffected As Long
Dim scn As String, sSQL As String
''Using SQL Server connection native client
scn = "Provider=SQLNCLI10;Server=ServerAddress;" _
& "Database=DBName; Trusted_Connection=yes;"
cn.Open scn
sSQL = "INSERT INTO NewSQLServerTable " _
& "SELECT * FROM OPENROWSET " _
& "('Microsoft.ACE.OLEDB.12.0','C:\docs\ltd.mdb';'Admin';, " _
& "'SELECT * FROM OldAccessTable')"
cn.Execute sSQL, RecsAffected
Debug.Print RecsAffected
Ou
Dim cn As New ADODB.Connection
Dim RecsAffected As Long
Dim scn As String, sSQL As String
''Using Jet connection
Set cn = CurrentProject.Connection
strConnect = "ODBC;Description=Test;DRIVER=SQL Server;" _
& "SERVER=ServerAddress;Trusted_Connection=Yes;DATABASE=DBName"
sSQL = "INSERT INTO [" & strConnect & "].NewSQLServerTable " _
& "SELECT * FROM OldAccessTable"
cn.Execute sSQL, RecsAffected
''Using Jet & an external mdb
sSQL = "INSERT INTO [" & strConnect & "].NewSQLServerTable " _
& "SELECT * FROM OldAccessTable IN " _
& "'C:\docs\ltd.mdb'"
cn.Execute sSQL, RecsAffected
Debug.Print RecsAffected
Pour échapper à la dépendance sur le DSN, le code de Doug Steele est bon: http://www.accessmvp.com/DJSteele/DSNLessLinks.html –
Salut Remou, y at-il un problème lors de l'utilisation de votre approche. Je pense que la table d'accès ms augmentera sa taille de fichier lors de l'utilisation de tables liées en fonction du contenu de chaque table dans ms sql. Rappelez-vous que Ms Access est capable que jusqu'à 2 Go. C'est pourquoi j'ai utilisé VBA et ADO, en utilisant une approche à trois niveaux. Je sais que le développement sera plus lent que l'utilisation de tables liées, mais je suis sûr que l'application fonctionnera sans problème à long terme. Des idées? – user335160
Les tables liées n'ont presque aucun effet sur la taille de mdb/accdb et Access a souvent été utilisé pour les frontaux SQL Server. Je viens d'essayer cela, et voici quelques chiffres: MDB 180KB: Table liée = 3,4 Go, lignes 90533, comprend une colonne «mémo»: MDB Après avoir lié cette table 252 kb. Je ne recommanderais pas d'analyser toutes ces lignes sauf si vous avez un ordinateur rapide, mais il n'y aurait pas beaucoup de circonstances où vous auriez besoin de tous les enregistrements dans un jeu d'enregistrements, une vue d'une certaine description sera plus conviviale. – Fionnuala
- 1. Front end PHP et backend Django?
- 2. MySQL: Sélection de données à partir de MS SQL Server
- 3. MS Access backend pour django
- 4. MS Acess 2003 - VBA pour la requête Update SQL?
- 5. Comment récupérer des données externes à partir de MS SQL à partir d'un blog Wordpress?
- 6. Enregistrer des données à partir de contrôles WinForms à une base de données SQL Server
- 7. Connexion à MS SQL DB à partir de Java NetBeans
- 8. assurer une application MS Access Front End avec l'authentification par formulaire ASP.net
- 9. Panneau d'administration Erlang Front-End
- 10. Comment se connecter à partir de rubis MS Sql Server
- 11. migrer des données de MS SQL à PostgreSQL?
- 12. Meilleur moyen d'obtenir des données à partir du fichier MS Access Mdb à SQL Server 2005
- 13. Coller des données MS Excel à SQL Server
- 14. Comment obtenir l'historique des connexions à MS SQL Server 2005
- 15. Architecture MVC pour front-end
- 16. Front-end Web pour SQL Server Database Mail
- 17. Portage à partir de MS Access
- 18. ms accès: à double table liée
- 19. MS Access Database Case à cocher Liste des filtres manquants sur le backend SQL Server
- 20. Comment connecter Excel à MS SQL et obtenir des données avec des noms de colonnes?
- 21. Comment puis-je obtenir des noms de tables à partir d'une base de données MS Access?
- 22. Comment faire pour supprimer des méta-données à partir de fichiers MS Office par programme?
- 23. Filtrage d'accès SQL et MS des données sur le formulaire
- 24. Convertir modèle Word à partir de MS Word 2003 à MS Word 2007
- 25. impossible de définir PageSetup.Orientation = xlLandscape à partir de MS Project
- 26. MS SQL Audit
- 27. Récupération de document MS Word à partir de la base de données et enregistrement local
- 28. Erreur dans datagridview en utilisant ms acess (C#)
- 29. Ruby: Remplacement des puces collées à partir de MS Word
- 30. convertir MS SQL Server à mysql
Comment voulez-vous faire cela? Avec - VBA et ADO, tables Access liées dans SQL Server, tables SQL Server liées dans Access ou une combinaison? – Fionnuala
Peut-être que l'utilisateur manque de compréhension fondamentale de la division frontale et back-end? – Smandoli
avec vba et ADO – user335160