Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [VB 6] Aggiornamento records che funziona a metà

    Ciao a tutti. Vi sottopongo oggi uno strano problema a cui sto tentando di dare una soluzione da ieri.

    Ho creato una form per l'inserimento di dati in un database. Tra i vari dati da inserire c'è il CAP che però permetto all'utente di sceglierlo tramite una combobox che pesca i dati da una tabella nel database. Ora, questa tabella contiene tutti i comuni italiani e i rispettivi CAP, però può capitare che a volte l'utente necessiti di utilizzare una località estera con il rispettivo ZIP oppure di inserire un ulteriore CAP (si pensi a quelle città suddivise in zone per cui ogni zona ha un suo CAP, ad esempio Torino, Roma, Milano, ecc...), per cui bisognerà salvare un nuovo record con la località ed il nuovo CAP. Ora, io vorrei che l'elenco da cui l'utente seleziona la località (la combobox) e tramite il quale viene impostato il CAP relativo venga aggiornato subito non appena il nuovo record viene inserito. L'aggiornamento mi viene fatto in tempo reale se inserisco una nuova località (scrivendola nella textbox della combobox) con il rispettivo CAP (che viene scritto in una apposita textbox), infatti mi ritrovo subito la nuova località e se cambio località e la reimposto successivamente mi viene utilizzato il CAP relativo in modo corretto, quindi significa che i dati li prende dal database. Se invece inserisco solo un ulteriore CAP (quindi senza andare a digitare nella combobox) il record mi viene aggiunto ma l'elenco non viene aggiornato fino al successivo riavvio dell'applicazione. Questo non lo riesco a comprendere, utilizzo lo stesso metodo per entrambi gli aggiornamenti. Uso un Database Access 2000 e mi connetto al database utilizzando ADO

    Questo è il codice che utilizzo per effettuare l'aggiunta dei record

    codice:
    If newTown Then
        strSQL = "INSERT INTO CAP (Località, CAP) VALUES " & _
    	     "('" & cmbCittà.Text & "', '" & txtCAP.Text & "')"
        mainDM.ADO_connection.Execute strSQL, recordsAffected
        elencoCittà.Requery
        If recordsAffected > 0 Then
             newTown = False
             MsgBox "La nuova località è stata inserita nel database", _
    		vbInformation, "Gestione preventivi"
           Else
             MsgBox "Impossibile aggiungere il record", vbCritical, _
    		"Gestione preventivi"
        End If
     Else
        If addZIP Then
           If (ZIP <> txtCAP.Text) Then
             If MsgBox("Aggiungere il nuovo CAP/ZIP code alla " & _
    	    "tabella come ulteriore opzione per la località " & cmbCittà.Text & "?", _
    	    vbQuestion + vbYesNo, "Gestione preventivi") = vbYes Then
                'aggiunge la stessa città, ma con CAP aggiuntivo
                     With elencoCittà
                          .Move cmbCittà.ListIndex, 1
                          città = .Fields("Località")
                          provincia = .Fields("Provincia")
                     End With
                        
                     strSQL = "INSERT INTO CAP(Provincia, Località, CAP) " & _
                     VALUES('" & provincia & "', '" & città & "', " & _
                            "'" & txtCAP.Text & "')"
                     mainDM.ADO_connection.Execute strSQL, recordsAffected
                     elencoCittà.Requery
                     If recordsAffected > 0 Then
                        MsgBox "Il nuovo CAP per " & città & " è stato " & _
                               "inserito nel database", _
       			   vbInformation, "Gestione preventivi"
                        Else
                            MsgBox "Impossibile aggiungere il record", _
                                vbCritical, "Gestione preventivi"
                      End If
                 Else
                      MsgBox "Il CAP/ZIP code immesso non verrà preso " & _
                            "in considerazione!", _
    			vbInformation, "Gestione preventivi"
                    End If
                End If
            End If
    End If
    Se qualcuno mi potesse aiutare ad evitare questo fastidioso inconveniente gliene sarei davvero grato.

  2. #2
    Qualche idea? :quote:

  3. #3
    o ricarichi la combo da db dove hai salvato il cap o mentre lo inserisci fai anche un combo1.additem "cap"
    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

  4. #4
    Ok, ti ringrazio.

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.