IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Projets ADP Discussion :

Migrer une base MSAccess en projet ADP SQL Server [Tutoriel]


Sujet :

Projets ADP

  1. #1
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut Migrer une base MSAccess en projet ADP SQL Server
    Bonjour à toutes et à tous,

    Le forum offre depuis quelque temps déjà, un système qui permet de recueillir votre avis sur nos articles publiés pour vous ; aussi, pour satisfaire cette fonctionnalité, je prends l'inititive de ressortir cet article afin qu'il puisse en bénéficier...

    Je vous rermercie de bien vouloir laisser vos commentaires / avis / remarques sur le tutoriel suivant :

    Apprenez comment migrer une base Microsoft Access en un projet ADP Microsoft SQL Server

    Merci

    Argy



    Retrouvez tous les meilleurs cours et tutoriels pour apprendre Microsoft Office Access
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  2. #2
    Membre régulier

    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2005
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mai 2005
    Messages : 39
    Points : 102
    Points
    102
    Par défaut Migration Access-ADP
    Un grand merci pour cet article de qualité.
    JJDai

  3. #3
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 260
    Points : 19 423
    Points
    19 423
    Billets dans le blog
    63
    Par défaut Pas de connexion avec SQL Server 2008 Express
    Bonjour à tous,

    Tout d'abord un grand merci à Argy pour son travail qui me sert de fil conducteur pour la migration de ma base Access

    Je vais essayer d'être le plus simple et le plus clair possible dans mes explications

    Je souhaite transformer une base Access en 1 projet ADP :

    J'ai déjà installé SQL server 2008 Express et tout se passe en local sur ma machine.

    Ensuite, en me basant sur cet excellent tutoriel, je tente d'utilisé depuis ma base Access l'Assistant Migration SQL server.

    Mais quand il m'invite à sélectionner le serveur dans lequel l'Assistant Migration SQL Server doit créer la base, il ne me propose rien dans la liste.

    Donc, est-ce normal qu'il ne me propose rien et si oui, quel nom de serveur dois-je mettre à cet emplacement et où le trouver.

    Dans Sql Server Configuration Manager j'ai comme nom SQL Server(SQLExpress), est-ce le bon ?

    Par la suite, on me propose un nom d'accès (ou un ID de connexion) et un mot de passe.

    Or, dans Sql Server Configuration Manager il est indiqué d'ouvrir une session en tant que LocalSystem (quand je choisis le système local) ou bien en tant que NT AUTHORITY\NETWORK SERVICE (pour le service réseau).

    Donc dans Assistant Migration SQL server dois-je choisir LocalSystem ?

    Et surtout où trouver l'ID de connexion et le mot de passe ?

    Enfin, j'ai déjà fait quelques essais qui aboutissent malheureusement tous à un message d'erreur du genre :

    Echec lors de la connexion
    ..
    Erreur SQL server : 53
    [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect())
    ...
    Et cette discussion ne m'a pas non plus permis de trouver de solution à ce problème

    Merci par avance !

    A+

    PS: Excusez moi encore pour toutes ces évidences mais je découvre SQL server
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  4. #4
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut Argy
    Bonsoir,

    Par principe il faut toujours choisir une authentification SQL server.

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  5. #5
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 260
    Points : 19 423
    Points
    19 423
    Billets dans le blog
    63
    Par défaut
    Bonjour,

    Merci bien, c'est résolu.

    Denis
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  6. #6
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 32
    Points : 24
    Points
    24
    Par défaut
    Wow! Super tuto, bravo

    Si je peux me permettre, je rencontre un petit souci lors de l'export des tables.
    J'utilise les versions :
    MS-Access 2010
    SQL Server 2005

    J'ai créé une base de donnée sur SQL Server vierge, et je voudrais migrer ma base de donnée Access vers un projet Access, donc un .ADP.
    Je suis donc aller sur Access, j'ai utilisé l'assistant de migration qui a bien réussi à lié les tables. Je peux les voir sur Access et SQL server, sauf que les tables sont vides. La structure y est bien pourtant.
    (Je précise sur SQL Server, les roles qui ont été attribués à ma base de donnée par l'administrateur sont : db_owner, db_write et db_read).

    ------------------------------------------------------------------------
    Durant l'import, j'ai ces messages d'erreur :
    Table : Table_exemple
    La table a été effacée ou l'exportation a échoué.

    Requètes : Requète_exemple
    La migration a échoué. Tentative d'utilisation de SQL :
    ------------------------------------------------------------------------

    Ma question est pourquoi les données ne s'importent elles pas ?
    Merci d'avance

  7. #7
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Merci... Il faut que je le réactualise, il commence à dater...

    Quel est le type des champs «clé primaire» coté SQL server ?

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  8. #8
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 32
    Points : 24
    Points
    24
    Par défaut
    Bonjour,

    Je pourrai vous donner cette information mardi (c'est au boulot...).
    Pour info, les tables contenant toutes les données se trouvent sur MS Access. Je dois migrer les tables d'un .mdb Access vers un .adp (donc vers SQL server). Les noms de tables et les liens coté Access semblent s'être bien passé, mais aucunes données.

    Je reviendrai vers vous mardi matin dans ce cas avec l'information

    (Vous pensez que c'est du au format des champs de base provenant d'Access qui serait le problème ? Je pense utiliser le logiciel SSQ Uprising PRO pour vérifier la base Access .mdb avant la migration, que pensez vous de ce logiciel ?)

    Merci pour l'intérêt

  9. #9
    Community Manager

    Avatar de Malick
    Homme Profil pro
    Community Manager
    Inscrit en
    Juillet 2012
    Messages
    9 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Community Manager
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2012
    Messages : 9 134
    Points : 84 788
    Points
    84 788
    Billets dans le blog
    15
    Par défaut


    Félicitations Argy et bravo pour cet excellent tutoriel que je découvre.

    Ma question :

    J'utilise Access 2013 et je viens d'installer Sql Server 2012, mais je n'arrive pas à trouver l'assistant migration vers sql server.

    Une idée sur comment le trouver ? Ou bien il y a un outil à télécharger ?

    Merci d'avance

    Cordialement,
    Malick
    Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

  10. #10
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    La création de projet ADP n'existent plus depuis Access 2007 ce qui est fort dommage.

    Une brève explication sur la struture à adopter cette page :
    https://msdn.microsoft.com/fr-fr/lib...or=-2147217396

    Sinon, je vais essayer de trouver un peu de temps pour rédiger un tutoriel plus en adéquation avec les versions actuelles.

    La stratégie est un peu différente et surtout frustrante vis-à-vis des adp qui nous manquent au final.

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  11. #11
    Community Manager

    Avatar de Malick
    Homme Profil pro
    Community Manager
    Inscrit en
    Juillet 2012
    Messages
    9 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Community Manager
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2012
    Messages : 9 134
    Points : 84 788
    Points
    84 788
    Billets dans le blog
    15
    Par défaut
    Bonjour,

    Merci bien pour ce retour.

    Citation Envoyé par argyronet Voir le message
    La création de projet ADP n'existent plus depuis Access 2007 ce qui est fort dommage.
    Oui cela est vraiment dommage.

    Citation Envoyé par argyronet Voir le message
    Sinon, je vais essayer de trouver un peu de temps pour rédiger un tutoriel plus en adéquation avec les versions actuelles.
    Argy
    C'est une très bonne nouvelle, ce tutoriel est attendu avec impatience.

    Merci encore et bonne journée

    Cordialement,
    Malick
    Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

  12. #12
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2019
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2019
    Messages : 69
    Points : 58
    Points
    58
    Par défaut
    Bonjour,
    merci pour ce tuto, mais serai t’il possible d'avoir une mise à jour de ce tuto?

    Cordialement

  13. #13
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par Baptou88 Voir le message
    merci pour ce tuto, mais serai t’il possible d'avoir une mise à jour de ce tuto?
    Bonjour,

    La direction à prendre avec le fait que depuis 2007, le principe d'un projet Access SQL Server n'existe plus, sera de monter un projet au sein de SQL Server lui-même,
    ou tout autre base de donnée similaire comme Oracle, voire MySQL et d'y connecter l'application Access frontale directement.

    À ce titre, et l'inconvénient qui en résulte, et qui va falloir refondre totalement le projet existant sur de nouvelles bases mêmes si une partie des procédures déjà codées peuvent être récupérées.

    On ne parlera plus donc de projet ADP mais d'une simple base de données classique codée différemment avec cette fois des tables attachées interrogées par le biais d'ODBC.
    Le principe de fonctionnement restera le même avec sans doute des performances un peu moins grandes.

    Quant à la rédaction d'un tutoriel dans ce sens effectivement, je manque de temps pour m'y mettre sachant que j'en ai déjà un en cours sur un autre sujet.

    Merci de votre soutien en tout cas.

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  14. #14
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2019
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2019
    Messages : 69
    Points : 58
    Points
    58
    Par défaut
    bonsoir, merci pour votre retour

    j'ai passé une bonne partie du weekend à essayé d'apprendre à lier des tables qui proviennent de MySql et de Mariadb avec le VBA Access
    • j'ai donc installé un serveur php / mysql ( j'ai installé MAMP)
    • j'ai egalement installé les pilotes ODCB qui corresponde aux BDD
    • j'ai du réecrire mon code de liaisons de tables (je pense avoir réussi à créer un code pour lier de multiples BDD qui proviennent de differentes structure: Access ou odbc)
    • j'arrive maintenant à modier un enregistrement en php et voir sa modification instantanément sur access et inversement


    mais je me suis quand même inspiré de ce tuto !

    Cordialement Baptiste

  15. #15
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Eh bien c'est parfait.

    Merci pour votre retour.

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  16. #16
    Membre expérimenté
    Homme Profil pro
    Indépendant développeur et formateur
    Inscrit en
    Octobre 2007
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant développeur et formateur
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 036
    Points : 1 598
    Points
    1 598
    Par défaut
    Bonjour, je joue avec Access depuis longtemps et je rencontre un nouveau client qui utilise ADP sur SQL Server
    En me renseignant, je découvre qu'ADP n'existe plus...
    Que conseiller à mon futur client ?
    - revenir à un Accdb?
    - passer sur un environnement de développement?
    - ne rien faire et serrer les f..?
    Merci pour le conseil
    -------------------Simplifi----------comme si tout était simple--------

  17. #17
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par Simplifi Voir le message
    En me renseignant, je découvre qu'ADP n'existe plus...
    Que conseiller à mon futur client ?
    Bonjour,

    Comme je l'ai expliqué le 25 janvier dernier, il n'y a pas 36 solutions si vous voulez basculer dans le nouveau format accdb.
    Vous serez obligé de faire de l'ODBC direct en modifiant et en adaptant votre code au sein du projet ADP tel qu'il existe.
    Et vous créez des tables liées directement sur la base SQL Server dans votre application Microsoft Access. Tous les appels pour les procédures stockées se feront directement dans le code via ADODB.

    Tant que l'infrastructure reste dans le même état, même version de SQL Server et même version de Microsoft Access, il n'y a pas de difficultés à l'horizon.

    Pour votre information, à titre professionnel, je maintiens une application au format Access 2003 alors que l'ensemble des serveurs ainsi que les postes utilisateur ont majoritairement Access 2010 ou 2013.
    Je ne fais pas évoluer l'application au nouveau format à cause de raisons budgétaires restreintes et j'ai fait en sorte que ça fonctionne parfaitement dans les nouvelles versions.
    Je l'ai même testé dans la version 2019 sans aucun problème.

    Si vous vous posez la question, cela signifie que votre client est susceptible de faire évoluer son infrastructure auquel cas évidemment, il faudra repenser le projet.

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  18. #18
    Membre habitué Avatar de harpyopsis
    Homme Profil pro
    Vétérinaire
    Inscrit en
    Octobre 2015
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : Indonésie

    Informations professionnelles :
    Activité : Vétérinaire
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2015
    Messages : 143
    Points : 187
    Points
    187
    Par défaut Code VBA
    Bonjour l'Araignée !

    Superbe tuto, toujours agréable à lire même en 2021...

    J'en suis à la conversion d'un volumineux projet vba Access qui doit passer à MS SQL Server, avec quelque 230 recordsets DAO à transformer en ADO. Un régal. Je ne suis ni le premier ni le dernier certainement...

    Une courte question, juste par oui ou par non :

    Est-il possible d'adapter un projet VBA pour qu'il puisse fonctionner aussi bien
    1. avec le jeu de tables Access originales accdb ou
    2. avec le jeu de Tables [dbo].xxx liées à MS SQL Server ?


    Merci d'avance ! Si c'est réellement possible, cela éviterait de devoir développer deux copies parallèles du même code...

    (je ne sais pas si j'ai posté au bon endroit, pardon!)

    phil

    PS : Moi aussi je suis viscéralement attaché à Access 2000/2003, et je maintiens un PC avec Office 2003 juste pour les barres de commandes ! Mon appli offre à la fois le ruban et la barre de commande classique en Add-in, au choix. Beaucoup préfèrent la barre de commande classique !

  19. #19
    Membre habitué Avatar de harpyopsis
    Homme Profil pro
    Vétérinaire
    Inscrit en
    Octobre 2015
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : Indonésie

    Informations professionnelles :
    Activité : Vétérinaire
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2015
    Messages : 143
    Points : 187
    Points
    187
    Par défaut
    Re-bonjour !

    Je viens d'arriver au passage MODE_ADO = True, qui répond en partie à ma question de ce matin. J'étais justement en train de mettre en place une méthode similaire de détection de l'environnement du code VBA.

    Juste une question :

    La compilation conditionnelle doit être déclarée dans chaque module, ce qui fait "un boulot dingue" (comme disait Manu)...

    Y aurait-il une objection à déclarer MODE_ADO une fois pour toutes dans les propriétés du projet VBA (Tools > Properties : Conditional Compilation Arguments), soit MODE_ADO = 0 ou MODE_ADO = -1 selon ?

    N'y aurait-il pas moyen que le code VBA vérifie aussi par lui-même s'il se trouve ou non en présence de tables nommées [dbo]. pour décider tout seul ?

    Ai-je dit une grosse bêtise ? Bon, je sors...

    Merci pour tout !

    phil

  20. #20
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 087
    Points : 5 203
    Points
    5 203
    Par défaut
    Bonjour,

    Citation Envoyé par harpyopsis Voir le message
    Est-il possible d'adapter un projet VBA pour qu'il puisse fonctionner aussi bien
    1. avec le jeu de tables Access originales accdb ou
    2. avec le jeu de Tables [dbo].xxx liées à MS SQL Server ?


    Merci d'avance ! Si c'est réellement possible, cela éviterait de devoir développer deux copies parallèles du même code...
    Pour ma part j'ai une variable globale booleene msql et mon code est truffé de iif(msql...) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim n As Integer, s As String, rst As New ADODB.Recordset
    ...
    rst.open "SELECT r.nop as operation, max(jour) as finie_le, r.libelle, round(r.tprepa/o.qliv+r.tprevu,2) as prevu_unit, r.poste, o.cd_of, o.qliv, round(sum(t)/o.qliv,2) as reel_unit " _
    & "FROM ((operations r inner join [OF] o on o.draw_ref=r.draw_ref) left join of_taches t on t.cd_of=o.cd_of) left join pointages p on p.cd_tache=t.cd_tache " _
    & "WHERE o.etat='T' and o.qliv>0 and o.date_fin>=dateadd(" & IIf(msql, "m,-" & n & ",get", "'m',-" & n & ",") & "date()) and t.nop=r.nop and r.draw_ref='" & x_draw_ref _
    & "' GROUP BY r.nop, r.libelle, r.tprepa, r.tprevu, r.poste, o.cd_of, o.qliv HAVING " & IIf(msql, "coalesce", "nz") & "(sum(t),0)+r.tprepa+r.tprevu>0.01 ORDER BY 1,2,6;", cnx, adOpenStatic
    Il y a plusieurs milliers de requetes comme cela et cela permet de fonctionner avec les 2 types de bases mais le même logiciel pour tous !!!
    C'est sûr que les différences entre le SQL Microsoft et le SQL Microsoft ne me facilitent pas la vie j'ai un peu d'Oracle aussi

    L'avis du Chef m'intéresse
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

Discussions similaires

  1. Migrer une base de données MySQL vers SQL Server
    Par Goupo dans le forum MS SQL Server
    Réponses: 17
    Dernier message: 04/06/2010, 09h58
  2. [AC-2003] Projet ADP/SQL Server Multi-utilisateurs
    Par hannii dans le forum VBA Access
    Réponses: 0
    Dernier message: 30/08/2009, 15h12
  3. Réponses: 2
    Dernier message: 29/04/2008, 13h59
  4. créer une base de données navec MS sql server 2005
    Par katyajea dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 12/04/2007, 23h02
  5. Projet ADP + SQL Server : tables en lecture seule
    Par hannii dans le forum Access
    Réponses: 8
    Dernier message: 09/03/2007, 14h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo