Lire-écrire-modifier-supprimer dans fichier fermé sans ADO

erics83

XLDnaute Impliqué
Bonjour,

Tout d'abord, je tiens à remercier Tatiak de son aide. En effet, Pierre m'a montré que l'on pouvait lire-écrire-modifier-supprimer dans un fichier fermé, sans passer par ADO. Il crée un dossier DBF, injecte un fichier dbf (donc ré-utilisable avec de nombreux applicatifs (dont MSoffice) et ensuite, on peut faire un peu ce que l'on veut à partir de ce fichier.

Pierre m'a très gentiment fourni un exemple de code simplifié, très rapide pour comprenne le fonctionnement et je l'en remercie.

Par contre, mes très faibles connaissances en VBA me bloquent....et j'ai besoin de votre aide.

Le principe recherché :
à l'ouverture du fichier, un USF s'affiche, 4 possibilités :
*Rechercher : j'ai copié/collé le code de Pierre, mais je souhaiterai que le résultat s'affiche dans le USF plutôt que en H:I
*Ajouter : idem, j'ai copié/collé le code, mais je souhaiterais que le USF2 s'affiche et enregistre dans le fichier fermé
*Modifier : là, je n'ai pas trouvé comment faire....j'ai essayé avec Update, mais mon SQL est très limité....
*Supprimer : idem....

C'est un fichier test, très light (encore merci Pierre), une fois que j'aurai compris la logique, je le mettrais en forme, car mon tableau final reprendra environ 50 colonnes...

En vous remerciant par avance pour m'aiguiller, me donner des pistes.....
A+
 

Pièces jointes

  • Dbase_7fevrier2017 V2.xlsm
    32.5 KB · Affichages: 52

erics83

XLDnaute Impliqué
Merci Pierre,

Merci pour ces liens vers tutos, j'avais fait des recherches, mais noyé par le nombre de sites et surtout sans réponse à mes interrogations....merci pour ces liens, je me plonge dedans et vais essayer de faire évoluer le fichier....


merci de ton aide,
Eric
 

erics83

XLDnaute Impliqué
Merci Pierre,

J'ai lu avec grande attention les tutos, qui effectivement ont comblé pas mal de "blanc"....je comprends mieux l'importance des clefs. En fait, cela fonctionne comme Access (c'est normal tu me diras...lol).

J'essaye toujours de mettre à jour, j'ai essayé
Code:
Sub modifie_dbf()
    Req = "UPDATE " & "Test.dbf" & " SET " & Dt = 42401 & " WHERE " & Id = 2
    result = Sql.Query(Req)
End Sub
en m'inspirant de la page 39 du tuto, mais le code bloque puisqu'il ne reconnaît pas Dt....

Une petite aide ?
Merci,
 

erics83

XLDnaute Impliqué
Merci Pierre,

Oui, j'avais bien vu dans ton code dans le module Sql qu'il y avait un exemple UPDATE, mais effectivement, je n'ai pas fait attention aux "" et aux variables.....d'où mes erreurs...

J'ai un peu de mal, car je ne maitrise pas vraiment les fonctions (ton code y fait beaucoup référence, gain de temps j'imagine....), j'ai essayé de trouver des tutos sur le net, mais une fois de plus, noyé sous la masse des infos, liens, etc... N'aurais tu pas SVP un lien vers un "bon tuto" sur les FUNCTION ?

Je pense avoir compris la logique de ton code : pour trouver les variables, tu fais appel à la fonction, et ensuite tu les injectes dans "Test", et effectivement c'est du ADO (j'ai comparé le "requêteur" avec ce que je connaissais de ADO et...c'est bien du ADO, je me suis fait avoir avec les "outils/références" et maintenant, j'ai compris ce que voulait dire la liaison tardive....;)

Merci pour ton aide,
Eric
 

Discussions similaires