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

    [VB6] Errore cambio casella in datagrid

    Ho una datagrid connessa ad un DB

    SE inserisco un valore numerico in una celle collegato ad un campo della tabella con proprietà NUMERO non ci sono problemi.

    Se metto un valore non numerico mi da avviso, che il valore immesso non è corretto, ed anche qui va bene

    IL problema sta sul fatto, che se decido di non inserire nessun numero in quella cella, una volta resa attiva, cioè che ci sono entrato, scritto un valore e poi eliminato il valore immesso, non riesco più ad uscire da tale cella fino a che non immetto un valore numerico.

    Come faccio a risolvere tale problema.

    Può capire che un utente inserisce un valore poi ci ripensa e decide che tale cella deve rimanere vuota, solo che una volta attivata, non si riesce più a lasciarla "", senza nessun valore

    Ciao e grazieeeeeeeeee

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Presumo che il db sia Access ...

    Il campo associato, oltre ad essere di tipo numerico, quali altre caratteristiche ha? E' consentito il valore null oppure e' sempre richiesto ?

  3. #3

    Campo

    Proprietà del campo i ACCESS:

    Dimensione campo: Intero lungo
    Formato:
    Posizioni decimali: Automatiche
    Maschera di input:
    Etichetta:
    Valore predefinito:
    Valido se:
    Messaggio errore:
    Richiesto: NO
    Indicizzato: NO
    Smart Tag:

    Come posso fare per risolverlo

  4. #4
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    Ciao, nel db, prova a mettere zero come valore predefinito

    Comunque è strano il comportamento che dici... non è che sei tu a fare dei controlli sul valore che immette l'utente?? In questo caso quando non immette niente, come default metti zero.
    Io ho provato a collegare una griglia a una tabella, modifico i dati numerici, non mettendo niente, e li salva senza problemi.
    Jupy

  5. #5

    Porca miseria

    Se imposto la proprietà a TESTO, non ci sono problemi, invece con la proprietà NUMERO mi fa questo scherzo.

    Non ho impostato niente proprio perchè non sono capace di controllare una celle di una datagrid, lo so fare solo per le caselle di testo, altrimenti gli avrei impostato l'uscita anche con valore "".

    Tu mi sapresti dire come controllare il valore di una cella in una datagrid.

    Cosi ti faccio sapere

    Ciao e grazieeeee

  6. #6

    Continuo

    Continuo il discorso di prima, aggiungendoti l'errore

    True OLE DBGRID 8

    Data type mismatch during field update

    Ciao e grazieeeeeeeee

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    357
    Ci sono diversi eventi nelle dbgrid che possono rivelarsi utili per controllare i valori immessi nei campi, tipo:

    Private Sub DBGrid1_BeforeColUpdate (ByVal ColIndex As Integer, OldValue As Variant, Cancel As Integer)

    End Sub
    Questo evento si scatena dopo che è stato modificato il valore nella
    cella e prima dell'update. Quindi puoi controllare se è stato messo null o spaces in un campo numerico.

    ColIndex = indice cella
    oldvalue = vecchio valore
    Cancel = True o 1 (ripristina il valore precedente)
    DBGrid1.Columns(ColIndex).Value = attuale valore della cella

    E poichè la dbgrid è normalmente associata ad un controllo data puoi verificare gli attributi del campo in questo modo:

    If Data1.Recordset(ColIndex).Type = dbLong and (IsNull(DBGrid1.Columns(ColIndex).Value) Or (DBGrid1.Columns(ColIndex).Value) = "") Then
    Msgbox("Valore errato"),VbCritical,"ATTENZIONE"
    Cancel = 1

    End If
    In questo modo non dovrebbe darti più errore.
    Tieni presente che esiste per la DBGrid anche l'evento error per intercettare gli errori della griglia.

    Ciao

  8. #8

    Ok

    Provo e poi ti faccio sapere....

    nel caso avessi problemi nella costruzione del controllo, posso di nuovo "romperti" le scatole

    Ciao e grazieeeee

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.