Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    941

    [VB 6.0]Richiama una funzione con parametro Recordset

    Ciao a tutti..
    volevo sciogliere una matassa
    chi mi aiuta !!!

    creo in un modulo una funzione:

    code
    --------------------------------------------------------------
    Public Sub apridb(alfa As Recordset)

    Set miodb = OpenDatabase("database.mdb")
    Set miorst = miodb.OpenRecordset("SELECT campo from tabella ", dbOpenDynaset)
    alfa = miorst

    End Sub
    ----------------------------------------------------------------

    nel form quando la richiamo
    come devo fare !!!

    se metto apridb(x)

    mi da errore 424 "necessario oggetto"


    grazie a tutti


    ------------------------------------------------------------
    Sei sperso nell'oceano...
    abbi fede una barchetta
    ti affogherà
    domando solo qualcosa di nuovo

  2. #2
    appunto x che cavolo sarebbe
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  3. #3
    Utente di HTML.it L'avatar di Sypher
    Registrato dal
    Jun 2003
    Messaggi
    1,994
    fai una funzione che restituisce un recordset no? e non gli passi niente
    La passera non dura perchè Sypher la cattura!

    "No one like us we don't care, we are millwall, super millwall, we are millwall from the DEN"

  4. #4
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Premetto, senza per questo voler dare 'consigli', che la tecnologia ADO è ormai in uso da quasi (più di) 5 anni, mentre noto che molti utilizzano ancora DAO, o il meno vetusto RDO. In tutti i casi dovresti fare un po' di chiarezza quando posti il codice. Nel frammento che hai postato non è evidente se miodb e miorst sono già dichiarati.
    In tutti i casi, 'alfa = miorst' andrebbe scritto come :
    codice:
      ..
     Set alfa = miorst  
      ..
    sempre che il riferimento ad alfa sia dichiarato precedentemente, come ti suggerisce peraltro giustamente xegallo, ossia:

    codice:
    Dim x as Recordset 
    
    Call apridb(x) 
    
    ....
    ....
    
    Public Sub apridb(alfa As Recordset) 
    Dim miodb as Database
    Dim miorst as Recordset 
    Set miodb = OpenDatabase("database.mdb") 
    Set miorst = miodb.OpenRecordset("SELECT campo from tabella ", dbOpenDynaset) 
    Set alfa = miorst 
    ' Comunque è più efficiente 
    ' Set alfa = miodb.OpenRecordset("SELECT campo from tabella ", dbOpenDynaset)
    ' al posto di 
    ' Set miorst = miodb.OpenRecordset("SELECT campo from tabella ", dbOpenDynaset) 
    ' Set alfa = miorst 
    
    
    End Sub
    Ciao,
    Ciao, Brainjar

  5. #5
    Utente di HTML.it L'avatar di Sypher
    Registrato dal
    Jun 2003
    Messaggi
    1,994
    ancora non mi è chiaro a cosa serva il parametro alfa della sub...
    La passera non dura perchè Sypher la cattura!

    "No one like us we don't care, we are millwall, super millwall, we are millwall from the DEN"

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    941
    mi dispiace di non aver ancora provato i vostri consigli
    e ringrazio tutti i partecipanti ....della disponibilità
    Sinceramente è la prima volta che uso una funzione con parametro
    ma mi pare di aver capito che non c' ne bisogno...o sbaglio !!!
    ma se non passo il parametro nel modulo
    come manipolo l' oggetto recordset nel form ???






    -------------------
    la barchetta sta arrivando
    ma per ora , ti lascia
    stramortire dalle onde
    domando solo qualcosa di nuovo

  7. #7
    Utente di HTML.it L'avatar di Sypher
    Registrato dal
    Jun 2003
    Messaggi
    1,994
    io farei così:

    codice:
    Private Function rcs() As ADODB.Recordset
        Dim conn As New ADODB.Connection
        Dim myrcs As New ADODB.Recordset
        conn.Open "Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\miodb.mdb;Uid=Admin;Pwd=;"
        rcs.Open "select * from tabella1", conn
        Set rec = myrcs 
    End Function
    
    Private Sub Form_Load()
        Dim tuorcs As ADODB.Recordset
        Set tuorcs = rcs
    End Sub
    mi spiego?
    nell'esempio l'ho messo nel form_load il recordset restituito dalla funzione (tuorcs)
    La passera non dura perchè Sypher la cattura!

    "No one like us we don't care, we are millwall, super millwall, we are millwall from the DEN"

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.