Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,326

    [delphi] campo data di IBtabella

    ...rieccomi,...scusate il disturbo!

    ho questa tabella di un IBdatabase:
    codice:
    CREATE TABLE MOVIMENTI (
        ID_MOVIMENTI       INTEGER  NOT NULL UNIQUE,
        FORNITORE          VARCHAR(5)   REFERENCES FORNITORI (codice),
        NUMERO_FATTURA     INTEGER,
        DATA               DATE,
        NUMERO_BOLLA       INTEGER,
        DATA_BOLLA         DATE,
        BOLLI              NUMERIC(10,3),
        IVA                INTEGER,
        IMPONIBILE         NUMERIC(14,3),    
        IMPOSTA            NUMERIC(14,3),     
        TOTALE             NUMERIC(15,3),
        NOTE               VARCHAR(50));
    vorrei gestire questi dati su una semplice form, dove ho inserito un Tedit (edit1), un button (cerca), e 3 DbEdit collegati ai campi fornitori, numero fattura e data.

    all'attivazione della form e' attivo unicamente il campo edit1 e il bottone cerca tramite il quale effettuo una query per selezionare il record desiderato.

    domande:

    1:
    edit1 deve accettare solo valori numerici in quanto serve per effettuare la query tipo...
    codice:
    select * from movimenti where id_movimenti = edit1.text
    quindi per controllare che sia immesso un valore numerico agisco sull'evento OnKeypress?

    2:
    dbEdit1 e' collegato al campo fornitori della tabella movimenti e referenzia un elemento univoco della tabella IBFORNITORI sempre dello stesso database.
    visto che questo deve essere un campo sia obbligatorio che esistente nella tabella collegata dove mi consigliate di fare i dovuti controlli...sull'evento onexit....o mi consigliate una tecnica migliore?

    3:
    dbEdit2 e' collegato al campo numero fattura, ma non trovo il maskedit....
    x favore mi potete dire come devo fare per editare/visualizzare questo campo es...con i punti separatore di migliaia.

    4:
    il campo data...stesso problema di visualizzazione. come devo fare per visualizzare il formato data ../../....

    grazie

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480

    Re: [delphi] campo data di IBtabella

    Originariamente inviato da 123delphi321
    1:
    edit1 deve accettare solo valori numerici in quanto serve per effettuare la query tipo...
    codice:
    select * from movimenti where id_movimenti = edit1.text
    quindi per controllare che sia immesso un valore numerico agisco sull'evento OnKeypress?
    Nell'evento OnKeyPress puoi facilmente filtrare i caratteri che vengono digitati. Un banale esempio:
    codice:
    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
      if not(Key in ['0'..'9']) then
        Key := #0;
    end;
    2:
    visto che questo deve essere un campo sia obbligatorio che esistente nella tabella collegata dove mi consigliate di fare i dovuti controlli...sull'evento onexit....o mi consigliate una tecnica migliore?
    Non ho ben capito a cosa ti servono i vari controlli DBEdit, ad ogni modo quando si parla di "validazione di un campo", per me è sempre meglio farla sull'evento OnExit per evitare stress all'utente con messaggio non validi inerenti poi ad un contenuto parziale della casella di testo.

    3:
    dbEdit2 e' collegato al campo numero fattura, ma non trovo il maskedit....
    x favore mi potete dire come devo fare per editare/visualizzare questo campo es...con i punti separatore di migliaia.
    Devi aggiungere campi persistenti per la tabella. Fai doppio clic sul componente per visualizzare il Field Editor, selezioni "Add fields" per aggiungere i campi della struttura in modo da poterne definire le proprietà che verranno poi salvate nel file DFM.
    La proprietà DisplayFormat ti consente di personalizzare il modo in cui il campo appare in tutti i controlli data aware che sono collegati ad esso.

    4:
    il campo data...stesso problema di visualizzazione. come devo fare per visualizzare il formato data ../../....
    Idem come al punto 3, sebbene un comune Edit non sia proprio il controllo più congeniale per inserire una data, ma non esiste di default un DateTimePicker che sia data aware (io me lo sono costruito).

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,326
    Non ho ben capito a cosa ti servono i vari controlli DBEdit, ad ogni modo quando si parla di "validazione di un campo",...
    scusa, ma quando devo fare INPUT di un nuovo record di una tabella di IBdatabase non devo utilizzare i DBEdit collegati ai vari fields?

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480
    Originariamente inviato da 123delphi321
    scusa, ma quando devo fare INPUT di un nuovo record di una tabella di IBdatabase non devo utilizzare i DBEdit collegati ai vari fields?
    Sì, scusa ma mi era sfuggita una parte del messaggio.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,326
    ...ho settato la proprietà DisplayFormat.

    ad esempio sul campo numerico ho fatto cosi:

    displayFormat 0,00

    in modo che il numero viene visualizzato con il separatore di migliaia.
    quando inserisco un numero partendo da un valore vuoto funziona tutto bene. se invece gia c'e' un valore ad es. 1.234.567 ed io lo vado a modificare...ad esempio elimino l'ultima cifra...ottengo errore. come posso controllare questo errore? ho provato sull'evento onValidate del field....ma viene generato prima l'errore di sistema.

    grazie

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480
    Di quale errore si tratta?
    L'errore va sempre indicato.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,326
    ad esempio nel mio Dbedit visualizzo un valore 1.234.567,...se lo modifico togliendo l'ultima cifra ottengo questo : 1.234.56..."is not a value integer value", e' chiaro che e' un valore immesso in maniera errata. io vorrei intercettarlo


    cosa simile se sul campo data immetto un valore nn giusto...."invalid input value"

  8. #8
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480
    Forse il problema è dovuto al fatto che il valore, così come è visualizzato, non è valido per essere convertito direttamente in intero oppure in data/ora, poichè il punto normalmente si intende per la separazione dei decimali.

    Sinceramente, non capisco l'utilità di inserire nel campo anche i separatori delle migliaia; l'uso di un diverso formato di visualizzazione va bene per le stampe, o per il riporto di valori su etichette, ma quando si passa all'editing (inserimento e modifica dei valori) chiedere all'utente di introdurre anche i separatori delle migliaia mi sembra eccessivo.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,326
    ma io non voglio questo,...anzi. infatti il valore viene immesso normalmete senza punti separatori. io vorrei solo visualizzarlo nel formato desiderato.

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,326
    ...forse ci sono riuscito...non settavo il parametro editFormat.

    ho fatto cosi nelle proprieta del campo numero:
    codice:
    DisplayFormat  0.00
    EditFormat     #0
    ho visto sull'help di delphi,....ma non riesco a trovare un chiaro esempio sulla sintassi da scrivere x il format dei valori.
    mi spiego meglio:

    0.00...visualizza un numero con separatore di migliaia
    #0 visualizza il numero senza separatori....

    per cortesia, mi sai dire dove posso trovare esempi sulla sintassi da adottare?

    pero, ancora non riesco a capire come fare ad intercettare gli errori di validitazione. nel senso, se su un campo "data" inserisco una data sbagliata viene generato un errore "invalid input value" come posso fare ad intercettarlo x visualizzare io un messagebox?

    grazie

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.