LA CLOCHE

Il y en a qui ont lu cette news avant vous.
Abonnez-vous pour recevoir les derniers articles.
E-mail
Nom
Nom de famille
Aimeriez-vous lire The Bell
Pas de spam

Accéder enregistré une requête conçue avec un générateur de requête appelé "myQuery". La base de données se connecte au système via une connexion ODBC. Les macros sont toutes incluses.

exceller a une connexion ADODB pour se connecter à la base de données via

Dim con As ADODB.Connection Dim rs As ADODB.Recordset Set con = New ADODB.Connection With con .Provider = "Microsoft.ACE.OLEDB.12.0" .Open "MyDatabase.accdb" End With

Habituellement, vous allez de l'avant et écrivez simplement votre SQL, ce qui est parfaitement bien, puis faites quelque chose comme

Dim sqlQuery As String sqlQuery = "SELECT * FROM myTable" Set rs = New ADODB.Recordset rs.Open sqlQuery, con, ...

Mais je veux accéder à la requête que j'ai stockée dans la base de données d'accès. Alors, comment puis-je appeler la requête stockée sur la base de données que je viens de connecter.

Déjà essayé

  1. con.Execute("EXEC maRequête"), mais il m'a dit qu'il ne pouvait pas trouver myQuery.
  2. rs.Ouvrez "myQuery", avec mais celui-ci n'est pas valide et veut des instructions SELECT /etc
vba excel-vba ms-access-2007 adodb excel

5 réponses


6

Je pense que vous pouvez le considérer comme une procédure stockée.

Si nous commençons juste avant Dim sqlQuery As String

Dim cmd comme nouveau ADODB.Command cmd.CommandType = adCmdStoredProc cmd.CommandText = "myQuery" cmd.ActiveConnection = con Set rs = cmd.Execute()

Ensuite, prenez votre travail de jeu d'enregistrements après cela.


1

Tu y étais presque

Dim con As ADODB.Connection Dim rs As ADODB.Recordset Set con = New ADODB.Connection With con .Provider = "Microsoft.ACE.OLEDB.12.0" .Open "z:\docs\MyDatabase.accdb" End With con.Execute "Marequête"

Laissez Exek de côté.

Vous pouvez aussi ajouter des options, c'est un peu vieux mais ça devrait aider :


0

C'est une sorte de hack, mais vous pouvez demander une demande. Autrement dit, remplacez la ligne sql par ce qui suit :

SqlQuery = "SELECT * FROM NomRequête ;"

Avant d'exécuter ce programme, vous devez vous assurer que la base Données d'accès a été sauvé c'est-à-dire. appuyez sur Ctrl+S (il ne suffit pas d'exécuter la requête dans Access).


0

J'ai pu exécuter une requête de mise à jour qui était déjà stockée dans Access en utilisant :

Connection.Execute "My_Update_Query_Already_Saved_In_Access", adExecuteNoRecords, adCmdStoredProc

Cela m'a donné des erreurs jusqu'à ce que je remplace les espaces dans le nom de la requête par des traits de soulignement à la fois dans la base de données Access et dans l'instruction d'exécution.


0

Cela fait longtemps que ce fil n'a pas été créé. Si je comprends tout correctement, je peux ajouter quelque chose d'utile. J'ai donné un nom à ce que décrit le PO, c'est-à-dire le processus en utilisant SQLà partir d'une requête stockée dans ACCDB pour s'exécuter en VBA via DAO ou ADOBD. Je lui ai donné le nom "fournisseur de propriété d'objet", même avec l'abréviation OPP dans mes notes, et le préfixe/suffixe pour le nom de l'objet.

L'idée est que objet existant dans ACCDB (généralement une requête) fournit une propriété (généralement SQL) à utiliser dans VBA. J'ai mis en place une fonction juste pour aspirer le SQL des requêtes pour cela; voir ci-dessous. Attention : désolé mais tout est en DAO, je n'utilise pas beaucoup ADODB. J'espère que vous trouverez toujours ces idées utiles.

Je suis même allé jusqu'à développer une méthode d'utilisation/insertion de paramètres de remplacement en SQL provenant de ces requêtes OPP. J'utilise ensuite VBA.Replace() pour effectuer le remplacement avant d'utiliser SQL dans VBA.

Chemin d'accès à l'objet DAO Requête SQL et dans ACCDB, cela ressemble à ceci :

MySqlStatement = Access.Application.CurrentDb.QueryDefs("myQueryName").SQL

J'utilise des paramètres remplaçables en évaluant ce qui doit être remplacé et en choisissant un nom inhabituel pour le paramètre qui ne peut pas exister dans la base de données réelle. Pour la plupart, les seules substitutions que j'ai faites sont des noms de champs ou de tables ou des expressions de clause WHERE et HAVING. Donc je les appelle des choses comme "(ReplaceMe00000001)" puis j'utilise remplacer la fonction() pour que ça marche...

SqlText = VBA.Replace(sqlText, "(ReplaceMe00000001)", "SomeActualParameter") ...

puis utilisez sqlText dans VBA. Voici un exemple de travail :

Public Function MySqlThing() Dim sqlText as String Dim myParamater as String Dim myExpression as String "Configurez tout. sqlText = getSqlTextFromQuery("myQuery") myParameter = "(ReplaceMe00000001)" myExpression = "SomeDateOrSomething12/31/2017" . sqlText = VBA.Replace(sqlText, myParameter, myExpression) "Ensuite, utilisez SQL. db.Execute sqlText, dbFailOnError End Function Function getSqlTextFromQuery(ByVal oppName As String) As String Dim app As Access.Application Dim db As DAO.Database Dim qdefs As DAO.QueryDefs Dim qdef As DAO.QueryDef Dim sqlText As String Set app = Access.Application Set db = app.CurrentDb Set qdefs = db.QueryDefs Set qdef = qdefs(oppName) oppGetSqlText = qdef.SQL End Function


Exécuter la requête dans Access MakeTable à partir d'Excel

j'ai fichier Excel que je dois automatiser. Lorsque l'utilisateur ouvre un rapport Excel, il est invité à actualiser les données. S'ils disent oui, alors je dois exécuter la requête...


Exécuter la fonction VBA via une requête de vue dans MS Access 2013 à partir de JS ActiveX ADO

Comment exécuter une macro VBA via une requête de vue dans MS Access 2013 à partir de JS ActiveX ADO ? La fonction VBA est conçue pour obtenir utilisateur actuel, connecté avec : Public Declar...


Exécuter la requête enregistrée contenant "fonction" dans la base de données d'accès à partir d'Excel

J'essaie d'exécuter une requête stockée dans une base de données d'accès à partir d'Excel vba. La requête fonctionne bien si je l'ouvre et l'exécute dans la base de données d'accès, mais génère une erreur lorsque je l'exécute à partir d'un module ...


MS Access - Exécuter une requête enregistrée par nom dans VBA

Comment exécuter une requête enregistrée dans MS Access 2007 en VBA ? Je ne veux pas copier et coller SQL dans VBA. Je préfère juste faire le nom de la requête. Cela ne fonctionnera pas... VBA ne trouve pas la requête...


Comment exécuter une requête dans ms-access dans le code VBA ?

Comment puis-je interroger pour renvoyer des enregistrements dans la base de données ms-access à l'aide du code VBA?


Exécutez la demande d'accès à partir d'Excel et transmettez-lui les paramètres

Comment exécuter une requête dans la base de données MS Access à partir du code ExcelVBA ou macro. La demande MS-Access prend certains paramètres qui doivent être transmis à partir d'Excel. Merci


Contrôle d'un classeur Excel depuis Access 2010 VBA

J'ai une situation très similaire au post suivant : Demande d'accès à excel 2010 pour créer un graphique via vba Dans mon cas, j'exporte une table, mais je veux faire beaucoup plus pour le fichier...


Exécuter une requête SQL Server de bout en bout à partir d'Access VBA

J'ai une requête de passage UPDATE enregistrée dans Access 2007. Lorsque je double-clique sur la requête de passage, elle s'exécute avec succès. Comment puis-je obtenir que cette requête soit exécutée à partir de VBA? Je voudrais...


Importer un énorme ensemble de données dans Access à partir d'Excel via VBA

J'ai un énorme ensemble de données que je dois importer d'Excel vers Access (~ 800 000 lignes). Cependant, je peux ignorer les lignes avec une valeur de colonne spécifique qui totalisent environ 90 %...


Une requête MDX dans Excel vba ?

existe-t-il un moyen d'exécuter une requête MDX dans Excel VBA ? Je pensais que cela pouvait être fait via ADO , tout comme dans le cas de SQL (oui, je sais que SQL est différent de MDX - un problème qui revient souvent...

Cette leçon concerne Requêtes SQLà la base de données sur Accès VBA. Nous verrons comment les requêtes VBA INSERT, UPDATE, DELETE vers la base de données sont effectuées, et nous apprendrons également comment obtenir une valeur spécifique à partir d'une requête SELECT.

Ceux qui programment Accès VBA tout en travaillant avec la base de données serveur SQL, sont très souvent confrontés à une tâche aussi simple et nécessaire que l'envoi d'une requête SQL à la base de données, que ce soit INSERT, UPDATE ou une simple requête SQL SELECT. Et puisque nous sommes des programmeurs novices, nous devrions également être capables de le faire, alors aujourd'hui nous allons le faire.

Nous avons déjà abordé le sujet de l'obtention de données à partir d'un serveur SQL, où nous avons écrit du code en VBA pour obtenir ces données, par exemple, dans un article sur le téléchargement de données dans un fichier texte à partir de MSSql 2008 ou également abordé un peu dans le matériel Téléchargement de données depuis Access vers un modèle Word et Excel, mais d'une manière ou d'une autre, nous l'avons considéré superficiellement, et aujourd'hui je vous propose d'en parler un peu plus en détail.

Noter! Tous les exemples ci-dessous sont discutés à l'aide d'un projet Access 2003 ADP et d'une base de données MSSql 2008.

Données initiales pour exemples

Disons que nous avons une table test_table qui contiendra les numéros et les noms des mois d'une année (les requêtes sont effectuées à l'aide de studio de gestion)

CREER TABLE .( NOT NULL, (50) NULL) ON GO

Comme je l'ai dit, nous allons utiliser un projet ADP configuré pour fonctionner avec MS SQL 2008, dans lequel j'ai créé un formulaire de test et ajouté un bouton de démarrage avec une légende "Courir", dont nous aurons besoin pour tester notre code, c'est-à-dire nous écrirons tout le code dans le gestionnaire d'événements " Appuyez sur le bouton».

Requêtes de base de données INSERT, UPDATE, DELETE dans VBA

Afin de ne pas le faire traîner longtemps, commençons, disons que nous devons ajouter une ligne à notre table de test ( le code est commenté)/

Private Sub start_Click() "Déclarez une variable pour stocker la chaîne de requête Dim sql_query As String "Écrivez la requête dont nous avons besoin dedans sql_query = "INSERT INTO test_table (id, name_mon) VALUES ("6", "June")" "Exécuter avec DoCmd. RunSQL sql_query End Sub

Dans ce cas, la requête est exécutée en utilisant les paramètres de connexion à la base de données en cours. Nous pouvons vérifier si les données ont été ajoutées ou non.

Comme vous pouvez le voir, les données ont été insérées.

Afin de supprimer une ligne, nous écrivons le code suivant.

Private Sub start_Click() "Déclarez une variable pour contenir la chaîne de requête Dim sql_query As String "Ecrivez-y une requête de suppression sql_query = "DELETE test_table WHERE id = 6" "Exécutez-la DoCmd.RunSQL sql_query End Sub

Si nous vérifions, nous verrons que chaîne souhaitéeà la retraite.

Pour mettre à jour les données, nous écrivons une requête de mise à jour dans la variable sql_query, j'espère que le sens est clair.

Requête SELECT à la base de données dans VBA

Ici, les choses sont un peu plus intéressantes qu'avec d'autres constructions SQL.

Tout d'abord, disons que nous devons obtenir toutes les données de la table, et, par exemple, nous les traiterons et les afficherons dans un message, et vous, bien sûr, pouvez l'utiliser à d'autres fins, pour cela nous écrivons ce qui suit code

Private Sub start_Click() "Déclaration de variables" Pour un jeu d'enregistrements de la base de données Dim RS As ADODB.Recordset "Chaîne de requête Dim sql_query As String "Chaîne pour afficher les données totales dans le message Dim str As String "Création d'un nouvel objet pour le jeu d'enregistrements RS = New ADODB .Recordset "Query string sql_query = "SELECT id, name_mon FROM test_table" "Exécutez la requête en utilisant les paramètres de connexion du projet actuel pour afficher un message str = str & RS.Fields("id") & "-" & RS. Fields("name_mon") & vbnewline "aller à l'enregistrement suivant RS.MoveNext Wend "Message de sortie msgbox str End Sub

Ici, nous utilisons déjà les boucles d'accès VBA pour parcourir toutes les valeurs de notre jeu d'enregistrements.

Mais, bien souvent, il est nécessaire d'obtenir non pas toutes les valeurs d'un ensemble d'enregistrements, mais une seule, par exemple, le nom du mois par son code. Et pour cela, utiliser une boucle est en quelque sorte coûteux, nous pouvons donc simplement écrire une requête qui ne renverra qu'une seule valeur et s'y référer, par exemple, nous obtiendrons le nom du mois par le code 5

Private Sub start_Click() "Déclarer des variables "Pour un jeu d'enregistrements de la base de données Dim RS As ADODB.Recordset "Chaîne de requête Dim sql_query As String "Chaîne pour afficher la valeur finale Dim str As String "Création d'un nouvel objet pour le jeu d'enregistrements RS = Nouveau ADODB.Recordset "Query string sql_query = "SELECT name_mon FROM test_table WHERE id = 5" "Exécuter la requête en utilisant les paramètres de connexion du projet actuel RS.open sql_query, CurrentProject.Connection, adOpenDynamic, adLockOptimistic "Obtenir notre valeur str = RS.Fields(0 ) msgbox str end sub

Pour l'universalité, ici nous avons déjà abordé non pas par le nom de la cellule, mais par son indice, c'est-à-dire 0, qui est la toute première valeur de Jeu d'enregistrements, à la fin nous avons obtenu la valeur "Peut".

Comme vous pouvez le voir, tout est assez simple. Si vous avez souvent besoin d'obtenir une valeur spécifique de la base de données ( comme dans le dernier exemple), alors je vous recommande de sortir tout le code dans une fonction séparée (Comment écrire une fonction dans VBA Access 2003) avec un paramètre d'entrée, par exemple, le code du mois ( compte tenu de notre exemple) et simplement, là où il faut afficher cette valeur, appelez la fonction dont nous avons besoin avec paramètre souhaité et c'est tout, avec cela nous réduirons considérablement le code VBA et améliorerons la perception de notre programme.

C'est tout pour aujourd'hui. Bonne chance!

Access vous permet de créer par programmation Chaînes SQL-requêtes, ainsi que des chaînes qui servent de valeurs de propriétés de formulaires, d'états, etc., de paramètres de fonction, etc., qui doivent également respecter la syntaxe SQL. Dans le même temps, il faut se rappeler que les constantes incluses dans une telle chaîne doivent également être formatées selon les règles de SQL, à savoir :

  • dans les nombres, le séparateur décimal doit être un point,
  • les chaînes doivent être entourées de guillemets ou d'apostrophes (et respectivement les guillemets ou les apostrophes à l'intérieur de la chaîne sont doublés),
  • Les dates doivent être entourées de hachages et écrites au format américain (jj/mm/aaaa) avec une barre oblique comme séparateur.

    Si cela est violé, les effets suivants sont possibles :

  • un nombre comme 10,5 avec une virgule au lieu d'un point sera perçu comme une liste de deux nombres 10 et 5, ce qui conduira à une sorte de divergence dans le nombre de champs,
  • une chaîne comme Vasya sans guillemets ni apostrophes sera traitée comme un nom de champ, si un tel champ existe, ou comme un nom de paramètre, qui sera immédiatement demandé,
  • une date comme 1/2/2010 ou 1-2-2010 sans barres sera traitée comme une expression arithmétique (avec division et soustraction, respectivement),
  • une date comme 1.2.2010 sera interprétée comme un nombre fractionnaire avec deux décimales et entraînera une erreur,
  • une date avec des barres, mais pas au format américain, sera traitée comme une date, mais différente (le jour et le mois seront permutés).

    Ci-dessous dans chaque section se trouve un exemple de chaîne SQL qui doit être obtenue lorsque création de programme, suivi du code VBA qui le crée. Vous trouverez ci-dessous quelques conseils très utiles.

    1. Utilisation des chiffres

    SELECT * FROM Table WHERE (((Table .Quanty)= 12 .197 ));
    VBA v1

    Dim q As Single q = 12 .197 strSQL = "SELECT * " _ & "FROM Table " _ & "WHERE (((Table.Quanty)=" & q & "));"
    VBA v2

    Dim q As String q = "12 197" strSQL = "SELECT * " _ & "FROM Table " _ & "WHERE (((Table.Quanty)=" & Str (q) & "));"
    Noter:

  • VBA v1- pour les entiers. Pour les nombres fractionnaires, il s'agit d'un cas particulier uniquement lorsque le séparateur système est un point.
  • VBA v2- une option plus correcte, car dans la programmation classique, seules les chaînes peuvent être jointes à des chaînes, tandis que VBA v1 utilise la conversion de type implicite, bien qu'il n'y ait eu aucune plainte concernant cette méthode pour les entiers. (L'exemple est donné lorsque le séparateur système est une virgule.)
  • Parfois, la fonction CStr() est également utilisée pour la conversion, mais elle n'est pas toujours applicable, car renvoie un nombre sous forme de chaîne, où il est écrit via le séparateur système, tandis que SQL n'accepte qu'un point comme séparateur.
  • NB ! Lorsque vous utilisez des séparateurs système atypiques, les exemples ci-dessus peuvent ne pas fonctionner. Dans ces cas, vous devez remplacer par programme le séparateur système par un point. Voici une fonction qui renvoie le séparateur système.
    Fonction GetDecimalSeparator() As String GetDecimalSeparator = Format ( 0 #, "." ) End Function Notez également que dans ce cas, certaines actions Access standard peuvent ne pas fonctionner.

    2. Utiliser des chaînes

    SELECT * FROM Table WHERE (((Table .Name)="All" ));
    VBA v1

    Dim q As String q = "All" strSQL = "SELECT * " _ & "FROM Table " _ & "WHERE (((Table.Quanty)=" "" & DoubleQuote(q) & "" "));"
    VBA v2

    Dim q As String q = "All" strSQL = "SELECT * " _ & "FROM Table " _ & "WHERE (((Table.Quanty)="" & DoubleApostrophe(q) & "" ));"
    Noter:

  • VBA v1: DoubleQuote() est une fonction qui double devis.

    Exemple:
    état de l'échantillon :
    a"a"s SQL :
    OÙ champ=" un""un"s"VBA :
    strOù=" OÙ champ=""" & "un""""un"s" & """ "

  • VBAv2 :: DoubleApostrophe() est une fonction qui double apostrophes.

    Exemple:
    état de l'échantillon :
    a"a"s SQL :
    OÙ champ=" un"un""s"VBA :
    strOù=" OÙ champ="" & "un""un""s" & "" "

  • Les fonctions DoubleQuote et DoubleApostrophe mentionnées ci-dessus ne sont PAS des fonctions intégrées d'Access, mais des fonctions définies par l'utilisateur, dont la mise en œuvre est laissée au programmeur. En particulier, dans Access 2000 et supérieur, vous pouvez utiliser la fonction intégrée Remplacer à cette fin, et dans 97 et inférieur, vous pouvez utiliser la fonction suivante :

    Fonction publique Replace97(StrMain As String , StrFind As String , StrZam As String ) As String On Error GoTo err Dim pos As Long If StrFind = "" Then GoTo err If StrMain = "" Then Replace97 = StrZam : Quitter la fonction Do Jusqu'à InStr( 1 , StrMain, StrRecherche) = 0 pos = InStr( 1 , StrMain, StrFind) StrMain = milieu (StrMain, 1 ,pos- 1 ) & StrZam & mid (StrMain, pos + Len(StrFind), Len(StrMain)) Loop Replace97 = StrMain Exit Function err: Replace97 = StrMain End Function
    3. Utiliser les dates

    SELECT * FROM Table WHERE (((Table .TimeOpen)=# 3 /31 /2003 11 :17 :19 #));
    VBA

    Dim q As Date q = Now strSQL = "SELECT * " _ & "FROM Table " _ & "WHERE (((Table.TimeOpen)=#" & Format (q, "mm\/dd\/yy hh\:mm \:ss" ) & "#));"
    Noter:

  • Microsoft JET SQL fonctionne sur des dates au format américain, c'est-à-dire sous la forme ci-dessus Mois/Jour/Année.
  • Ne sautez pas le # (il entoure toute la constante date-heure) et \ (il empêche / et : d'être remplacés par les paramètres régionaux, ce que la fonction Format a tendance à faire et empêche la commande SQL de fonctionner correctement) .
  • Il est recommandé de lire ici : à propos des méthodes de stockage de date/heure.
  • NB ! Vous ne devez pas utiliser la conversion de date en entier (ou long), car dans Access et dans SQL Server, des nombres différents correspondent à la même date, et lors de la comparaison, vous pouvez obtenir un résultat inattendu.

    Compiler une telle chaîne contenant une commande SQL et la soumettre pour exécution peut entraîner une erreur. Dans ce cas, imprimez cette chaîne dans la fenêtre de débogage et regardez-la avec vos yeux. Peut-être que l'erreur attirera immédiatement votre attention. Si cela ne se précipite pas, créez une nouvelle requête dans le concepteur de requêtes, passez en mode SQL, collez-y le texte de la requête et exécutez-la pour exécution. S'il y a une erreur, elle sera affichée plus explicitement.

  • Avec une macro OuvrirRequête Dans les bases de données Access, vous pouvez ouvrir des requêtes de sélection et des requêtes croisées en mode Feuille de données, en mode Création ou en mode Aperçu. Cette action lance une demande de modification. Vous pouvez également sélectionner le mode de saisie des données pour la requête.

    Noter: Cette macro n'est disponible que dans un environnement de base de données Access (MDB ou ACCDB). Si vous utilisez Access Project Environment (ADP), voir les macros OuvrirVue, Ouvrir une procédure stockée et OuvrirFonction. macro OuvrirRequête non disponible dans les applications Web Access.

    Paramètre

    macro OuvrirRequête a les arguments suivants :

    Macro-argument

    La description

    Nom de la demande

    Nom de la demande d'ouverture. Sélectionnez un nom dans la liste déroulante. C'est un argument requis.

    Lors de l'exécution d'une macro contenant une macro dans une base de données de bibliothèque OuvrirRequête, Access recherche d'abord une requête portant ce nom dans la base de données de la bibliothèque, puis dans la base de données active.

    La vue dans laquelle la requête s'ouvrira. Sélectionnez dans le champ Voir sens Table, Constructeur, Aperçu, tableau croisé dynamique ou Tableau croisé dynamique. La valeur par défaut est Table.

    Noter: Les vues Tableau croisé dynamique et Graphique croisé dynamique ne sont pas disponibles dans les versions d'Access à partir d'Access 2013.

    Mode données

    Mode de saisie des données pour la requête. Ce paramètre s'applique uniquement aux requêtes ouvertes en mode Feuille de données. Sélectionner Ajouter(les utilisateurs pourront ajouter de nouvelles entrées, mais pas modifier celles existantes), Changer(les utilisateurs pourront modifier les entrées existantes et en ajouter de nouvelles) ou Uniquement pour la lecture(les utilisateurs ne pourront voir que les entrées). La valeur par défaut est Changer.

    Remarques

    Si pour l'argument Voir valeur de consigne Table, Access affiche le jeu de résultats lorsqu'une requête Sélection, une requête croisée, une requête Union ou une requête serveur est utilisée, propriété RetoursRecords ce qui compte Oui. S'il s'agit d'une demande de modification, d'une demande de définition de données ou d'une demande au serveur, la propriété RetoursRecords qui est fixé à Pas, la requête est exécutée.

    macro OuvrirRequêteéquivaut à double-cliquer sur une requête dans le volet de navigation ou à cliquer dessus clic-droit souris dans la zone de navigation et sélection de la vue. Lorsque vous utilisez une macro, vous pouvez sélectionner des options supplémentaires.

    Des astuces

      Vous pouvez faire glisser une requête du volet de navigation vers la fenêtre du concepteur de macros. Cela créera automatiquement une macro. OuvrirRequête, qui ouvre la requête en mode Feuille de données.

      Si vous passez au constructeur lorsque la requête est ouverte, la valeur de l'argument Mode données est retiré. Ce paramètre n'aura aucun effet même si l'utilisateur revient en mode Feuille de données.

      Si vous ne souhaitez pas afficher message système, qui apparaissent généralement lorsque vous exécutez des demandes de modification (ils disent qu'il s'agit d'une demande de modification et du nombre d'enregistrements qu'elle affecte), vous pouvez les désactiver avec une macro Définir l'avertissement.

    Pour exécuter une macro OuvrirRequête dans un module Visual Basic pour Applications (VBA), utilisez la méthode OuvrirRequête objet DoCmd.

    LA CLOCHE

    Il y en a qui ont lu cette news avant vous.
    Abonnez-vous pour recevoir les derniers articles.
    E-mail
    Nom
    Nom de famille
    Aimeriez-vous lire The Bell
    Pas de spam