Acquista i nostri libri consigliati su Amazon.it
+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 2 su 2

Errore di VBA - Access - Passaggio da casella di testo a casella combinata

  1. #1
    merendinadoc non è in linea Novello
    Uso Access 2003 per fare il DB e il Visual Basic quando ho fatto in una nuova maschera il passaggio da una casella di testo (usata per la visualizzazione da parte del cliente) che mi fa vedere solo l'id del tipo di autore, ad una casella combinata che mi visualizza il nome ed il cognome dell'autore tutto si è modificato.
    Nel senso che i dati che ho nella tabella Brano, sono stati cancellati perchè dove c'era cod.5 ad esempio per il tipoautore,ora mi mette cod.-1, e -1 significa che è Null.
    Non riesco a comprendere come sia possibile questa modifica, dal momento che il mio intervento è stato solo sulla visualizzizazione.
    C'è da notare che non modifica gli stessi dati, cambia ogni volta autonomamente inseresndo -1 qua e là e non so come fare per risolvere il problema.

    Questo è il codice presente nella maschera Brano (qui ho un gruppo di opzioni + caselle combinate):

    Private Sub Form_Current()
    If Form.NewRecord = -1 Then
    Me!Cornice6.Value = 0
    Me!Cornice21.Value = 0

    CasellaCombinata15.Visible = False
    CasellaCombinata17.Visible = False
    CasellaCombinata19.Visible = False
    CasellaCombinata38.Visible = False
    CasellaCombinata40.Visible = False
    End If
    DoCmd.RunMacro "AggiornaMascheraBrano"

    End Sub
    E questo è il codice presente nella maschera visualizzaDettaglioBrano:
    Private Sub Form_Load()
    ' If id_compositore = 0 Then
    ' id_compositore.Visible = False
    ' Else
    ' id_compositore.Visible = True
    ' End If

    If CasellaCombinata38 = 0 Then
    CasellaCombinata38.Visible = False
    Else
    CasellaCombinata38.Visible = True
    End If

    If CasellaCombinata40 = 0 Then
    CasellaCombinata40.Visible = False
    Else
    CasellaCombinata40.Visible = True
    End If

    ' If id_cantanteSingolo = 0 Then
    ' id_cantanteSingolo.Visible = False
    ' Else
    ' id_cantanteSingolo.Visible = True
    ' End If
    If CasellaCombinata32 = 0 Then
    CasellaCombinata32.Visible = False
    Else
    CasellaCombinata32.Visible = True
    End If
    If CasellaCombinata34 = 0 Then
    CasellaCombinata34.Visible = False
    Else
    CasellaCombinata34.Visible = True
    End If

    'If id_gruppi = 0 Then
    ' id_gruppi.Visible = False
    'Else
    ' id_gruppi.Visible = True
    ' End If

    If CasellaCombinata36 = 0 Then
    CasellaCombinata36.Visible = False
    Else
    CasellaCombinata36.Visible = True
    End If

    ' If id_genere = 0 Then
    ' id_genere.Visible = False
    ' Else
    ' id_genere.Visible = True
    'End If

    If CasellaCombinata28 = 0 Then
    CasellaCombinata28.Visible = False
    Else
    CasellaCombinata28.Visible = True
    End If


    ' If id_tipologia = 0 Then
    ' id_tipologia.Visible = False
    ' Else
    ' id_tipologia.Visible = True
    ' End If

    If CasellaCombinata30 = 0 Then
    CasellaCombinata30.Visible = False
    Else
    CasellaCombinata30.Visible = True
    End If

    End Sub




    Ed è qui che sono iniziati i problemi ( con casellaCombinata=0, vedo tutti i campi; con casellaCombinata>0 mi cancella i dati e mi mette il -1).
    Si accettano suggerimenti.
    Grazie.
    Ciao a tutti. Melinda

  2. #2
    L'avatar di dragone bianco
    dragone bianco non è in linea Certosino
    ciao merendinadoc

    Attenzione quando fai il passaggio da una casella di testo ad una casella combinata.
    se non ci sono dati nel menu a tendina ed il controllo è associato non visualizzi niente
    se il dato contenuto non è presente nella tendina non visualizzi niente

    cose da fare
    • Cambiare nome (così il riferimento nel vba è sbagliato ed è facile ricercarlo)
    • Verificare tutti i codici legati all'oggetto e cambiarli eventualmente (non è detto che abbiano le stesse proprietà.

    Il codice l'ho letto, mi sembra confuso.

     DoCmd.RunMacro "AggiornaMascheraBrano"
    
    Questo cosa Fa?

    e non caoisco questi passaggi
     If CasellaCombinata36 = 0 Then
    CasellaCombinata36.Visible = False
    Else
    CasellaCombinata36.Visible = True
    End If
    
    Ciao
    ℹ️ Leggi di più su dragone bianco ...

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Risposte: 9
    Ultimo Post: 22-06-2015, 11:46
  2. Risposte: 14
    Ultimo Post: 26-01-2015, 10:18
  3. Casella Combinata e Casella di Testo (ACCESS 2007)
    Da manolo nel forum Microsoft Access
    Risposte: 1
    Ultimo Post: 11-12-2012, 23:19
  4. Risposte: 3
    Ultimo Post: 07-06-2012, 19:42
  5. Access casella combinata associata a casella di testo
    Da giuseppe1502000 nel forum Microsoft Access
    Risposte: 4
    Ultimo Post: 30-05-2011, 23:39