28/04/2025 - Marco195 ha scritto:
Ci sono modi e modi per trattare chi commette un banale errore
Ciao, condivido i modi qualora non siano consoni e rispettosi.
Allo stesso tempo posso capire i moderatori che hanno lo scopo di moderare facendo rispettare i modi, i regolamenti, etc... (lavoro spesso molto difficile)
Può essere che tutti hanno un pò di ragione e un pò di torto.
Spesso essere tolleranti è difficile.
Spesso non si rispettano i regolamenti.
Spesso il proprio comportamento appare lesivo e/o non rispettoso.
Spesso per varie ragioni tra cui la fretta di dover risolvere un problema, per semplificare, etc... , porta a non rispettare i regolamenti.
Se ci sono le regole un motivo c'è...
In questo caso fare crossposting, ma anche in generale, è soprattutto sintomo di poco rispetto per il lavoro degli altri. Almeno io la vedo in questo modo.
Ma poi io per primo non vado a vedere se i regolamenti sono stati rispettati o meno e, se posso e se sono in grado, una risposta al quesito cerco di darla.
Ammetto di essere un pò superficiale in questo, ma mi viene spontaneo mettere in ordine come prima cosa la necessità di chi ha chiesto aiuto e quindi per quanto possibile poter essere di aiuto... (un mio difetto, magari può essere chiamato "Altruismo")
Detto questo, faccio il possibile per rispettare i regolamenti, il lavoro degli altri, dei moderatori e del forum che ci ospita. Ma spesso si può sbagliare ;-(
Il quesito:
Venendo alla tua richiesta vorrei in sintesi ricordarti quanto segue
- Il sintomo descritto riflette semplicemente l'incompatibilità tra il campo della tabella e la cella di excel che sono di fatto di due tipi diversi.
- Per esempio uno è di tipo testo e l'altro di tipo Data Ora:Minuti
- soluzione: uniformare i due tipidi dati... o impostare il campo della tabella e della cella di excel di tipo Stringa oppure di tipo Data nel formato Ora:Minuti
- Se il campo della tabella e di excel sono impostati come tipo Ore/Minuti:
- Field della Tabella = Cdate(Valore della Cella .Value)
- Se il campo della tabella e di tipo String e quello di excel formattato come Ore:Minuti (questo è il caso dove verrà riportato un valore numerico corrispondente all'orario)
- Field della Tabella = Format(Valoredella Cella .Value, "hh:nn")
- etc.. etc...
ESEMPIO con la cella excel formattata di tipo Ore/Minuti ... nel caso in cui la field della tabella sia di tipo Ora:Minuti e nel caso in cui la field della tabella sia di tipo Testo :
' Read excel cells and table write
Dim i As Long
Dim cellValue As Variant
For i = 2 To 13
' Retrieve cell value
cellValue = xlsht.Cells(i, "I").Value
' Insert records
With myRec
.AddNew
.Fields("OreGennaioTipoOreMinuti") = CDate(cellValue)
.Fields("OreGennaioTipoString") = Format(cellValue, "hh:nn")
.Update
End With
Next i
.
In sostanza devi verificare la compatibilità tra i due campi e adottare il sistema di formattazione adatto al caso specifico
In ultimo ricordati sempre di chiudere e/o di liberare dalla memoria gli oggetti che sono stati utilizzati nella routine. (vedi come ti ho esposto nei post precedenti)
Per esempio non chiudere gli oggetti di Excel potrebbe comportare la corruzione del file rendendolo inacessibile e/o perdendo i dati in esso contenuti.