Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    48

    [VB6]Scrivere connex a db una sola volta e...

    Salve ragazzi, io vengo da asp 3.0, me la cavicchio quindi con vbscript e sono alle prime esperienze con vb6... ho i seguenti problemi, sicuramente saprete aiutarmi:

    1)
    Sto sviluppando un piccolo programma gestionale x piccole aziende, e vorrei scrivere una sola volta la stringa di connessione al db in modo che sia disponibile in tutto il progetto, la domanda é... dove la devo scrivere e come???

    Ecco un tentativo che ho fatto:

    [MODULO1 - mdl_Datab]

    Private Sub Datab(strTabella)
    Dim db As Database
    Dim wk As Workspace
    Dim rs As Recordset

    Set db = Workspaces(0).OpenDatabase("D:\Visual Basic - Progetti\Progetto MGC04\Database\dbmgc04.mdb")
    Set rs = db.OpenRecordset("strTabella")

    [/MODULO1]

    [FORM1]
    Dim strTabella as String
    strTabella = "Clienti"
    Call mdl_Datab.Datab(strTabella)

    rs.MoveFirst
    Azienda.Text = rs!Ditta
    [/FORM1]

    Dove sbaglio??? Mi da errore nel debug e dice che é richiesto l'oggetto (penso si riferisca a rs). Tenete conto che ho un sacco di lacune lo so, quindi più cose mi vorrete spiegare, tanto più apprezzerò. grazie

    2) Set db = Workspaces(0).OpenDatabase("D:\Visual Basic - Progetti\Progetto MGC04\Database\dbmgc04.mdb")

    Non mi piace sta cosa... non é possibile in qualke modo dargli una path assoluta??? Io ho provato a dargli come path "Database\dbmgc04.mdb" ma non gli va bene.

    3) Mi sa che non ho compreso del tutto le funzionalità dei workspaces... il mio dubbio é... devo settarlo in qualche modo come faccio per il db o basta solo dichiararlo e lui viene messo come primo workspace e cioé alla posizione (0)???

    Questo é quanto. So che esistono vari metodi per collegarsi ai db, io comunque vi pregherei di basare le vostre spiegazioni usando lo stesso metodo che ho usato io, che ho in parte già appreso, altrimenti vado in panico e non ci capisco più un nulla.

    PS: Non so se vi può essere d'aiuto nella spiegazione... uso le librerie DAO 3.6!!!

    Grazie mille per l'aiuto.

  2. #2
    Ciao.
    Anche io uso le librerie DAO e anche se sono ormai "deprecate", per il momento mi ci trovo bene. Prima o poi studierò gli altri metodi di connessione...
    Personalmente nelle mie applicazioni che realizzo per l'ufficio (per hobby...) io mi comporto così:
    metto un modulo pubblico e vi inserisco una procedura pubblica che apre il database. Questa procedura la richiamo ogni qualvolta mi serve in ogni punto dell'intero progetto.
    Per quanto riguarda il discorso "path", prova ad utilizzare "App.path" (senza virgolette ovviamente).
    Avrei poi un piccolo "tutorial" che scaricai a suo tempo dalla rete ed è in formato "txt" ma non mi è permesso di allegarlo a questo messaggio.
    Se sei interessato te lo farò avere. Personalmente me lo sono studiato ed ho applicato i suggerimenti indicati trovandomi, ripeto, bene. Ovviamente io poi ci ho messo del mio...
    Se hai bisogno di ulteriori chiarimenti, posso postarti anche del codice esplicativo.

    Fammi sapere.

    Giulio C. - Roma

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    48
    Ti ringrazio tantissimo, ma appunto come ti dicevo ho grandissime lacune (diciamo che so poco di quasi tutto), quindi quando parli di procedura non so bene a che ti riferisci (una funzione o altro?), e anche quando mi dici App.path... beh non saprei come applicarlo... se vedo del codice apprendo subito invece, quindi se non ti é troppo disturbo ti chiederei di farmi degli esempi pratici. Grazie.

    per il file txt sendamelo pure a shank@ticino.com quando hai tempo. Grazie ancora.

    Originariamente inviato da Giulio C.
    Ciao.
    Anche io uso le librerie DAO e anche se sono ormai "deprecate", per il momento mi ci trovo bene. Prima o poi studierò gli altri metodi di connessione...
    Personalmente nelle mie applicazioni che realizzo per l'ufficio (per hobby...) io mi comporto così:
    metto un modulo pubblico e vi inserisco una procedura pubblica che apre il database. Questa procedura la richiamo ogni qualvolta mi serve in ogni punto dell'intero progetto.
    Per quanto riguarda il discorso "path", prova ad utilizzare "App.path" (senza virgolette ovviamente).
    Avrei poi un piccolo "tutorial" che scaricai a suo tempo dalla rete ed è in formato "txt" ma non mi è permesso di allegarlo a questo messaggio.
    Se sei interessato te lo farò avere. Personalmente me lo sono studiato ed ho applicato i suggerimenti indicati trovandomi, ripeto, bene. Ovviamente io poi ci ho messo del mio...
    Se hai bisogno di ulteriori chiarimenti, posso postarti anche del codice esplicativo.

    Fammi sapere.


  4. #4
    Ciao.
    Premesso che ti ho spedito il file indicato sopra, provo ad indicarti come io eseguo una connessione ad un database di tipo Access attraverso le librerie DAO. Ripeto, anche per chi legge, che so benissimo che si tratta di cose superate ma, tant'è, prima o poi studierò gli altri metodi...
    Allora caro Sh4nK, per connettermi al database io faccio così:

    NEL MODULO PUBBLICO:

    codice:
    Public dbsNomeFileMDB As Database
    Public rstTuaTabella As Recordset
    ' Apertura database e recordset

    codice:
    Public Sub ApriDatabase()     
       Set dbsNomeFileMDB = OpenDatabase(App.Path & "\NomeFileMDB.mdb")
       Set rstTuaTabella = dbsNomeFileMDB.OpenRecordset("NomeTabella")
    end sub
    IN OGNI MODULO (laddove necessario):

    codice:
    Call ApriDatabase   ' Per connettersi ed aprire il database
    Nel tuo esempio:

    codice:
    Call ApriDatabase
    With rstTuaTabella
       .MoveFirst
       Azienda.text = !Ditta
    End With
    Fammi sapere, ok?

    Cari saluti.
    Giulio C. - Roma

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.