morgana555 Inserito: 4 febbraio 2011 Segnala Share Inserito: 4 febbraio 2011 Salve a tutti,avrei un problema!Sto sviluppando un applicazione in cui da un'interfaccia che ho creato in visual basic 2005.net,vado a visualizzare o modificare i dati contenuti in un data baseaccess 2003,in pratica un applicazione gestionale.Nel momento in cui inserisco,con una insert,una data,questa viene inserita nel db correttamente.Ciò non succede nel momento in cui con la stessa data voglio aggiornare una scadenza con un'update del tipo: Update apparati set scad_manutenzione = #" & indata & "# + 180 where matricola= ' " & matricola & " ' " indata è la variabile contenente la data inserita con la insert,matricola è la variabile contenente la matricola dell'apparato manutenzionato,apparati è il nome della tabella e scad_manutenzione è il nome del campo da aggiornare.Il problema sta nel fatto che la data viene inserita nel data base,ma con il giorno ed il mese invertiti(Es. 01/09/2011 diventa 09/01/2011)Aggiungo che ho provato ad utilizzare la seguente funzione ma il problema permane: Update apparati set scad_manutenzione = #" & Format(indata,"#\yyyy\-mm\-dd\#") & "# + 180 where matricola= ' " & matricola & " ' " .Spero di essere stato il più chiaro possibile e vi ringrazio in anticipo per un'eventuale soluzione,un saluto by Tommy!!! Link al commento Condividi su altri siti More sharing options...
GiRock Inserita: 4 febbraio 2011 Segnala Share Inserita: 4 febbraio 2011 Se hai usato un campo del tipo Date, dovevi forzare la formattazione della stringa in Access al momento della creazione, scegliendo il formato dd/mm/yyyy... Link al commento Condividi su altri siti More sharing options...
morgana555 Inserita: 5 febbraio 2011 Autore Segnala Share Inserita: 5 febbraio 2011 Scusami GiRock,ma intendi al momento della creazione del db?E se sì:cosa intendi per forzare?e nel caso,non sarebbe possibile farlo adesso,dalmomento che i dati inseriti nel db sono solo di prova e quindi potrebbero tranquillamente essere cancellati? Link al commento Condividi su altri siti More sharing options...
GiRock Inserita: 5 febbraio 2011 Segnala Share Inserita: 5 febbraio 2011 Nelle proprietà del campo in Access, dovresti sicuramente avere la maschera di formattazione quando scegli il tipo Date con dei presets selezionabili... Basterà scegliere il formato di tuo gusto ed il gioco è fatto... Link al commento Condividi su altri siti More sharing options...
morgana555 Inserita: 9 febbraio 2011 Autore Segnala Share Inserita: 9 febbraio 2011 Scusami GiRock se ti rispondo solo ora ma ho avuto da fare.Il problema non riguarda la scelta del formato data in visualizzazione struttura.Il fatto è che in access,quando si deve aggiornare un campo date,se la query la si inserisce all'interno(di access) nell'ambiente preposto per inserire il codice sql, la data deve essere inserita in questo modo:#anno/mese/giorno# per ottenere il risultato voluto,cioè per es.:(Update lavori set scadenza = #2011/02/09# + 11)sarà = a 20/02/2011e quest'ultima data verrà inserita nel campo scadenza. Il problema sorge nel momento in cui si vuole far sì che sia l'utente utilizzatore diun'interfaccia visual basic.net 2005 ad inserire le date.Quindi,escludendo il fatto che sia l'utente a dover inserire le date invertite,cercavo un modo,una funzione,un oggetto che inserito nel codice vb,inverta le date inserite dall'utente.Scusami se mi sono dilungato e spero di essere stato il più chiaro possibile,by!!! Link al commento Condividi su altri siti More sharing options...
GiRock Inserita: 9 febbraio 2011 Segnala Share Inserita: 9 febbraio 2011 Per la mia conoscenza riguardante la funzione Format potresti forzare il tipo con CDate per vedere se risovi, altrimenti se devi sommare i giorni alla Data, c'è sempre DateAdd in VB con la sintassi: DateAdd(Data, cosa(giorni, mesi, anni), numero da aggiungere), es. DateAdd("09/02/2011", "d", 180) rispettando sicuramente il formato inserito precedentemente... Se poi non risolvi ancora, ci faremo venire in mente qualche altra soluzione... Link al commento Condividi su altri siti More sharing options...
morgana555 Inserita: 9 febbraio 2011 Autore Segnala Share Inserita: 9 febbraio 2011 Ottimo!!!Credo che sia quello che mi serviva.Ora non posso provare ma domani ti dico.Non conoscevo dateadd in vb,grazie mille!! Link al commento Condividi su altri siti More sharing options...
morgana555 Inserita: 21 febbraio 2011 Autore Segnala Share Inserita: 21 febbraio 2011 Ciao GiRock,scusa il tempismo ma come al solito non sto al pc sempre!Ho provato ad utilizzare sia dateadd che non mi risolve il problema,sia cdate, che provandolo ho capito che serve a convertire un campo stringain data,ed anche in questo caso non mi risolve il problema dato che la variabile indata l'ho dichiarata di tipo Date.Morale della favola credo che mi servirebbe semplicemente invertire la data contenuta nella variabile indata,da dd/mm/yyyy a yyyy/mm/dd.Questo perchè la variabile ndata a sua volta viene inserita in una query sql e di conseguenza access legge la data al contrario(formato anglosassone)!!!Scusami se ogni volta scrivo un papiro,ma lo faccio per cercare di essere il più chiaro possibile..saluti..tom!! Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora