Specifica di
“Alcuni punti mi erano (e in parte mi sono ancora) poco chiari, …”
1) Ho dovuto modificare il campo DATA1 nella tabella hunde3 da tipo datetime a tipo date come da te suggeritomi in precedenza.
Ho alcune procedure un po’ complesse perché i dati originali sono ancora in DB3 e vengono prima
importati su Microsft Access per poi essere re-importati a mezzo ODBC nel database di MySql.
(Quanti passi ha fatto la tecnologia, non dimenticandosi del passato !)
Il mio Access è versione Access2000 (9.0.3821 SR-1) ed accetta solo il tipo datetime per cui quando si importa da lui i valori prendono il formato 0000-00-00 00:00:00 (anno-mese-giorno ore:minuti:secondi) automaticamente.
Se poi nel database di MySql si modifica il campo e gli si dice NOT NULL(non vuoto) l’automatismo
di MySql dovrebbe fare il resto e caricare tutti i records vuoti,
ma dovrei controllare se carica 0000-00-00 00:00:00 o se carica 1899-12-30 00:00:00
2) Come hai visto la variabile DATA_M contenuta nella query :
cmdTemp.CommandText = "SELECT DATA1 + ' ' + Dscrizione AS DATA_M
ha anche lo spazio vuoto +’ ‘+
e Dscrizione
(Dscrizione è giusto scritto cosí) perché è un campo della tabella nazioni
La tabella nazioni contiene solo due campi
Sigla_Nazione (esempio del suo contenuto I oppure D oppure USA oppure AUS altre sigle internazionali)
Dscrizione (contiene esattamente il nome esteso della sigla della nazione e cioè Italia,Germania,USA,Australia,eccetera)
3) il select list serve proprio per estrarre la data contenuta nel campo(variabile) DATA_M prima dello spazio vuoto.
Il campo Dscrizione non è vuoto (come spiegato qui sopra è un campo della tabella nazione)
4) per far apparire nella pagina WEB due date (hai centrato) ho inserito nel file asp quanto segue ed ovviamente dopo la query :
<%varData = DATA_M
Response.Write(formatDateTime(varData, vbShortDate))%>
<%=DataCommand1("DATA_M")%>
Questo il risultato rispettivamente :
12/30/1899
20040926
In effetti non ho capito come mai viene visualizzata la data del 12/30/1899 pur avendo assegnato la variabile
VarData = DATA_M e questo valore non c’è nel campo DATA1 della tabella hunde3
Rimane il fatto che la 20040926 è un valore corretto contenuto nel campo DATA1 della tabella hunde3
5) ho cancellato per ora, senza inserire formatDateTime(DataCommand1("DATA_M"), vbShortDate), le istruzioni iniziali e le ho sostituite con quelle da te suggerite, ma non visualizza ancora le date eppure si collega
Vecchie istruzioni
<select name="DATA_ESPOSIZIONE" size="1">
<%For i=1 to DataCommand1.RecordCount%>
<%Lun=InStr(1,DataCommand1("DATA_M")," ")
DataMan=Left(DataCommand1("DATA_M"),Lun - 1)
If IsDate(DataMan) Then%>
<option value="<%=DataMan%>">
<font color="#000000"><%=DataCommand1("DATA_M")%></font>
</option>
<%End If
DataCommand1.MoveNext
Next%>
</select>
Nuove istruzioni
<select name="DATA_ESPOSIZIONE" size="1">
<%DataCommand1.MoveFirst
For i=1 to DataCommand1.RecordCount%>
<option value="<%=DataCommand1("DATA_M")%>">
<font color="#000000"><%=DataCommand1("DATA_M")%></font>
</option>
<%DataCommand1.MoveNext
Next%>
</select>
Sinceramente ti devo ringraziare per la tua disponibiltà, come devo ringraziare i gestori di questo forum che permette ai piccoli programmatori come me di discutere serenamente delle varie problematiche.