+ Rispondi al messaggio
Pagina 2 di 3 primaprima 123 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 22

Trasformare data formato inglese in formato italiano

  1. #11
    pierovb non è in linea Scolaretto
    @AntonioG
    Piero mi sa che stai facendo confusione. Il suggerimento di sgrubak era corretto. Se devi inserire una data nel db usa i parametri.
    Non voglio essere presuntuoso ma, non sto facendo confusione.
    I dati li inserisco usando i parametri, tra l'altro li uso da anni e in tutti i miei progetti.
    Ho necessità che la data che importo, non la inserisco, nella textbox sia visualizzata nel formato "dd/mm/yyyy".
    Purtroppo con la funzione Split, come ho spiegato prima, spesso invertiva il mese e il giorno e viceversa a secondo della data che veniva caricata nella textbox.
    Con il codice del post precedente sembra funzionare sia in visualizzazione che nell'inserimento nella tabella.

  2. #12
    Ricominciamo da zero.

    Spiega passo per passo quello che succede nel tuo programma e vediamo di capirci, perché secondo me Sgrubak aveva seguito bene la discussione.
    ℹ️ Leggi di più su AntonioG ...

  3. #13
    Sgrubak non è in linea Scribacchino
    Beh, ma visualizzare ed inserire, son due cose distinte e separate.
    Bene che usi i parametri. Temevo concatenassi il valore della textbox alla query di Insert e questa cosa espone a problemi considerevoli. Solo per quello mi son permesso di suggerirtelo.

    La visualizzazione è la parte più facile: assegni alla proprietà Text, il risultato di una funzione Format e hai risolto. Senza stare a trattare il dato.

    L'inserimento invece richiede qualche accortezza, soprattutto se, come spero, tu vai a valorizzare un campo Data e non uno Testo.

  4. #14
    pierovb non è in linea Scolaretto
    Tramite questo programma l'utente importa un file CSV, elabora i dati e li salva.

    In pratica, il file csv viene caricato in una flexgrid, al click su una row i dati vengono caricati nelle textbox, elaborati e salvati nel database.

    Il problema si presenta con la data perchè sul computer dell'utente è installato la versione inglese di Win 10 e la data
    è in formato "m/d/yyyy"

    L'utente ha necessità di vedere dentro la textbox contenente la data in formato "dd/mm/yyyy".

    Con la funzione Split suggerita da Sgrubak e che io ho usato (vedi post precedenti) quando il programma gira su win 10 EN spesso inverte i giorni con i mesi e viceversa.
    Per cui, ad esempio la data 01/02/2020 diventava 02/012020 che non è la stessa cosa!

    Questo era il problema per cui ho chiesto aiuto.

    I parametri, come ho detto a Sgrubak e a te li uso anche in questo caso, in tutti i miei progetti e da tantissimo tempo.

    Con la routine ricavata da una macro Excel, trovata su internet, ho risolto il problema delle inversioni di giorni e mesi.

  5. #15
    pierovb non è in linea Scolaretto
    @Sgrubak
    Io ringrazio sempre chi presta attenzione alle mie richieste di aiuto. Non volevo affatto essere permaloso, solo spiegarti che con la funzione Split, se sul mio PC (It) non ho problemi, in quello dell'utente (EN) parecchi, vedi primi post.
    Comunque ho spiegato tutto nell' ultimo post.

  6. #16
    Ciao Piero,
    Sgrubak ti ha dato un buon suggerimento, che approfondirei.

    Una cosa è il dato tipizzato, un'altra è la sua rappresentazione "testuale".

    Conoscendo le impostazioni internazionali della macchina su cui girerà il software, bisognerà adattare i relativi "formati testuali" applicati al dato tipizzato (date, datetime, timestamp, etc..)

    Posto che "VAR_DATE" sia una variabile data, senza bisogno si complicarsi la vita con split o manipolazione di stringhe:

    Format(VAR_DATE, "ddmmyyyy") -> restituisce giornomeseanno
    Format(VAR_DATE, "mmddyyyy") -> restituisce mesegiornoanno
    ℹ️ Leggi di più su Fix ...

  7. #17
    pierovb non è in linea Scolaretto
    Ciao Fix,
    il suggerimento di Sgrubak è giustissimo, solo che nella macchina con Win 10 (EN)
    non sempre ritorna la formattazione della data nel formato "dd/mm/yyyy"
    perchè se il mese o il giorno è di una sola cifra non aggiunge lo zero iniziale.
    Mi spiego meglio se la data è 2/5/2019 mi ritorna 5/2/2019 e non 05/02/2019.
    Ovvio che posso trovare qualche accorgimento per risolvere, ma con il codice che
    ho ricavato da una macro (mi sembra) di aver risolto.
    Persiste qualche dubbio perchè voglio e devo essere certo che funzioni perfettamente.
    Dovrò testare il tutto con un grande quantitativo di dati sul computer dell'utente.
    Intanto, un grazie a tutti.

  8. #18
    Sgrubak non è in linea Scribacchino
    Ma per quello ti basta il Format, come da esempio di Fix

    Text2.Text = Format(data, "dd/mm/yyyy")
    

  9. #19
    pierovb non è in linea Scolaretto
    No. Purtroppo con determinate date sballa.
    E un po' come quando esporti i dati da access a excel e le date spesso invertono il giorno con il mese.

  10. #20
    Ferrari_and non è in linea Scolaretto
    Il problema se stai programmando in VB6 è la variabile Data che è stata dichiarata come stringa invece che come tipo Date

+ Rispondi al messaggio
Pagina 2 di 3 primaprima 123 ultimoultimo

Potrebbero interessarti anche ...

  1. Risposte: 1
    Ultimo Post: 28-12-2014, 15:05
  2. CSV Data formato italiano
    Da stardevil nel forum MySQL
    Risposte: 2
    Ultimo Post: 25-09-2013, 23:08
  3. Articolo: [VBA] Convertire Data da Italiano ad Inglese
    Da @Alex nel forum Microsoft Access
    Risposte: 0
    Ultimo Post: 23-03-2012, 16:18
  4. Access data da formato data a formato testo
    Da TORNADO71 nel forum Microsoft Access
    Risposte: 3
    Ultimo Post: 08-09-2009, 22:02