Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    VB6: scivere una funzione di connessione con adodb

    vorrei scrivere una funzione che mi consenta di connettermi ad un database utilizzando adodb, questa function dovrebbe prendere in ingresso la variabile contenente la stringa sql e in uscita mi dovrebbe restituire il recordset....è possibile farlo?
    io nel mio modulo ho scritto qualcosa del genere:

    Function recordset(sql As String)

    NomeDB = App.Path & "\mdb\database.mdb"
    strcn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & NomeDB & ";Persist Security Info=False"
    Set cn = New ADODB.Connection
    set rec = New ADODB.recordset
    cn.Open strcn

    rec.Open sql, cn, 3, 3
    recordset = rec

    End Function


    ma mi da l'errore "numero errato di argomenti o assegnazione di propietà non valido"

    mi potreste aiutare a scriverla bene questa function?

    grazie 1000
    "noi simme cori aridi/nimici de la pace
    quanno dui cori s'ammano/noi tutti ci dispiace"

  2. #2
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387
    Come prima cosa, cambia il nome della funzione...Recordset e' una parola riservata

    ...e poi, dove ti da l'errore?
    ...and I miss you...like the deserts miss the rain...

  3. #3
    dunque...la situazione è questa, ho apportato alcune modifiche e sono arrivato a questo punto, la funzione che sta nel modulo è:

    Function recset(sql As String) As Recordset

    nomedb = App.Path & "\mdb\miodb.mdb"
    strcn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & nomedb & ";Persist

    Security Info=False"
    Set cn = New ADODB.Connection
    Set rs = New ADODB.Recordset
    cn.Open strcn

    rs.Open sql, cn, 3, 3
    Set recset = rs

    End Function

    mentre invece nel form ho scritto:

    Dim result As Recordset
    sql = "select * from tb_tipo_utenza"
    result = recset(sql)
    While Not result.EOF
    tipoute.AddItem (result("descrizione"))
    Wend
    closedb

    closedb è una sub che ho scritto per chiudere recordset e connection

    mandando in esecuzione il progetto mi viene generato errore di tipo "utilizzo non valido di property " sulla riga
    result = recset(sql)

    da che cosa può dipendere?
    grazie dell'aiuto!:bubu:
    "noi simme cori aridi/nimici de la pace
    quanno dui cori s'ammano/noi tutti ci dispiace"

  4. #4
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387
    Prova a mettere
    codice:
    SET result = recset(sql)
    ...and I miss you...like the deserts miss the rain...

  5. #5
    ci ho gia provato e l'applicazione mi si blocca al punto che devo terminare il vb.......
    "noi simme cori aridi/nimici de la pace
    quanno dui cori s'ammano/noi tutti ci dispiace"

  6. #6
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387
    Allora prova a dichiarare sia funzione che recordset come AdoDB.RecordSet

    Al limite puoi passare un Recordset come altro parametro alla funzione e valurizzare questo in uscita.
    ...and I miss you...like the deserts miss the rain...

  7. #7
    purtroppo anke con l'aggiunta di adodb.recordset la funzione non funziona (caruccio il gioco di parole:gren: ) ma non ti seguo per il discorso del recordset in ingresso....puoi essere + kiaro?
    "noi simme cori aridi/nimici de la pace
    quanno dui cori s'ammano/noi tutti ci dispiace"

  8. #8
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387
    codice:
    Function recset(sql As String, recSetPMT as AdoDB.recordset) 
    ....
    recSetPMT = rs 
    ....
    end function
    e quando chiami la funzione...
    codice:
    Dim result As AdoDB.recordset
    sql = "select * from tb_tipo_utenza" 
    call recset(sql,result)
    ...and I miss you...like the deserts miss the rain...

  9. #9
    per completezza (so che e' una semplice dimenticanza)... se usi CALL devi cambiare la Function in Sub.

  10. #10
    mha...niente da fare, non va....
    "noi simme cori aridi/nimici de la pace
    quanno dui cori s'ammano/noi tutti ci dispiace"

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.