Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118

    Problemi riferimenti Access 2010

    Ciao ragazzi spero sia il posto giusto...

    Ho access 2010 e sto tentando di richiamare dei valori da una tabella per visualizzarli su una maschera una volta che faccio il click su un pulsante. Sto tentando tutte le connessioni persino la DAO
    codice:
    Dim cnn As New DAODB.Connection
    Dim rst1 As New DAODB.Recordset
    
    Set rst1 = New DAODB.Recordset
    
    Set cnn = CurrentProject.Connection
    rst1.Open "SELECT NOME FROM PROVALA WHERE IDD=1", cnn, adOpenKeyset, adLockOptimistic
    
    [Testo22].Value = rst1
    ma mi dice sempre tipo definito dall'utente non definito. Ho visto in giro e dovrei spuntare qualche libreria su riferimenti sotto strumenti ma questa voce è disabilitatat ( in grigino). Avete qualche suggerimento? Grazie mille

  2. #2
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,522
    Mai letto il regolamento ?

    1) In questo forum si parla di Database (relazionali e non) e di tutte le problematiche legate alla loro installazione, utilizzo, manutenzione. Vengono trattati problemi relativi alla scrittura di comandi SQL (query, funzioni, stored procedures) ed alla loro esecuzione
    In questo forum NON si parla di alcune funzionalità peculiari di Microsoft Access (macro, maschere, report, etc) che continueranno ad essere trattate nel forum "Windows e software"

    Sposto

  3. #3
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    Scusate

  4. #4
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Se ho capito bene quello che vorresti fare con il recordset è questo:
    codice:
    Private Sub Comando2_Click()
    
        ' Definisce la stringa query
            Dim ssq As String
            ssq = "SELECT NOME FROM PROVALA WHERE IDD=1"
    
        ' Definisci il DB
            Dim cnn As DAO.Database
            Set cnn = CurrentDb
    
        ' Con il DB e la stringa query crei il recordset
            Dim rst1 As DAO.Recordset
            Set rst1 = cnn.OpenRecordset(ssq)
            
        ' la stringa query precedentemente definita non serve più  ( meglio annullarla )
            ssq = ""
            
    
        ' Vai al primo  ( e in questo caso unico ) record
        ' In questo caso particolare potresti omettere il passaggio perche il recordset si apre di default al 1° record
            rst1.MoveFirst
    
        ' Imposto il valore di Testo 22
            Me.Testo22.Value = rst1.Fields("NOME")
    
        ' Chiudo recordset e DB
            rst1.Close
            cnn.Close
    
    End Sub



    La stessa cosa la potresti fare con la funzione DLookUp
    codice:
    Private Sub Comando3_Click()
        Me.Testo22.Value = DLookup("[NOME]", "[PROVALA]", "[IDD] = 1")
    End Sub


    Facci sapere

    .

  5. #5
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    Ho provato ma ...impossibile trovare la tabella provala...se faccio na crazione guidata di maschera invece legge correttamente sia la tabella che i campi...sospetto che vba non li legga e non posso settare nulla perchè non mi fa andare in riferimenti...

  6. #6
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Originariamente inviato da diegoctn
    ... sospetto che vba non li legga ....
    Direi che c'è qualche altro motivo ( ma non so quale )

    __________________________________________________

    Tu da quello che dici nel 1° post dovresti avere:

    Tabella di nome "PROVALA"
    campi di nome
    ___"NOME" __ ( immagino formato testo )
    ___"IDD" ____ Formato numerico

    _________________________________________________

    Poi hai una maschera con dentro un
    controllo di nome "Testo22"

    _________________________________________________

    Per l'esempio specifico che ti ho proposto
    devi aggiungere nella maschera 2 pulsanti
    di comando di nome
    ___ Comando2
    ___ Comando3

    ________________________________________________

    Mentre il codice è da inserire nel modulo della maschera

    ________________________________________________
    ________________________________________________
    ________________________________________________


    Io ho testato il tutto con Acc2003 e funziona


    Verifica bene
    il nome della tabella
    il nome dei campi
    di avere al campo IDD un record di valore 1


    Facci sapere meglio e piu dettagliatamente.



    .

  7. #7
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    Verificato, tabella provala, campo nome, idd valore 1. Strano, ma il problema è sui riferimenti.

  8. #8
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Nella finestra di VBA prova a cliccare sul pulsante
    --> Strumenti ---> Riferimenti


    Strano ma potrebbe mancarti qualcosa lì

    prova a cntrollare


    NB: io uso office 2010 ( versione base ) e non ho problemi con
    quel codice che ti ho postato.




    .

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 © 2026 vBulletin Solutions, Inc. All rights reserved.