Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922

    [access] - resettare campi dopo msgbox

    Dopo due ore di imprecazioni varie mi vedo costretto a chiedere ancora il vostro aiuto.

    Il problema è il seguente: ho una maschera di ricerca con 3 campi, due caselle di testo e una casella combinata. La query verifica che i valori inseriti siano validi contemporaneamente.
    Se ad esempio inserisco mario come nome e cuba come nazione, se non viene trovato nessun record mi appare il messaggio inserito nel msgbox. Il problema è che i valori del form non vengono cancellati. Credo che il contenuto non ci sia più perchè pur essendo ancora presenti in fase di visualizzazione mi appare il messaggio di inserire almeno un criterio di ricerca. Immagino quindi che sia una sorta di problema di refresh o qualcosa del genere ma non so come risolvere. Spero di essere stato chiaro. Sono abbastanza fuso.


    codice:
    Private Sub btnRicerca2_Click()
    Dim sql As String
    sql = "SELECT utenti.id_utente,utenti.cognome, utenti.nome,utenti.centro,utenti.data_nascita,utenti.telef_cellul_1 FROM [utenti] WHERE true "
    
    If ((txtCognome = "" Or IsNull(txtCognome)) And (txtNome = "" Or IsNull(txtNome)) And (nazione.Column(1) = "" Or IsNull(nazione.Column(1)))) Then
    MsgBox "Inserire almeno una chiave di ricerca"
    Exit Sub
    End If
    
    If txtCognome <> "" And Not IsNull(txtCognome) Then
           sql = sql & "and utenti.cognome= Forms![cercaUtente2]!txtCognome "
    End If
    If txtNome <> "" And Not IsNull(txtNome) Then
            sql = sql & "and utenti.nome = Forms![cercaUtente2]!txtNome "
    End If
    
    If nazione.Column(1) <> "" Then
    sql = sql & "and utenti.nazione = Forms![cercaUtente2]!nazione.value "
    End If
    
    sql = sql & "order by cognome,nome;"
    Me.RecordSource = sql
    
    
    If Me.RecordsetClone.RecordCount = 0 Then
        Me.txtNome.Value = ""
        Me.txtCognome.Value = ""
        Me.nazione = ""
        MsgBox "Nessun utente trovato. Eseguire una nuova ricerca."
        Exit Sub
    Else
        Me.FilterOn = False
        Me!intCognome.Visible = True
        Me!intNome.Visible = True
        Me!intCentro.Visible = True
        Me!intNascita.Visible = True
        Me!intCellulare.Visible = True
    End If
    Me.txtNome.Value = ""
    Me.txtCognome.Value = ""
    Me.nazione = ""
    End Sub

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Come immaginavo era proprio un problema di refresh.

    E' bastato aggiungere dopo la riga del msgbox questa:

    Forms!cercaUtente2.Refresh

    per risolvere. Quanto tempo sprecato per scrivere un'istruzione.
    Buona serata a a tutti.

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.