+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

data non corretta in database access

  1. #1
    manu9874 non  in linea Novello
    Buona sera a tutti...spiego qual il problema...in una tabella oltre all'id (num.auto), nome (testo),cognome (testo) ho una data di iscrizione (data) poi ho la scadenza (ho provata sia come data, testo e numerico)...ho aggiunto 2 checkbox che dalla data di iscrizione mi da in una label (ho provato anche con un dateTime e textbox) la scadenza annuale o semestrale e funziona tutto correttamente...il problema chequando salvo i dati nella datagrid o nel file access la scadenza me la memorizza al 30/12/1899 QUI vi metto l'immagine come esempio...invece nelle checkbox ho scritto cos

    Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged
            With CheckBox1
                If .Checked Then
                    label5.Text = DateAdd("d", 365, Guna2DateTimePicker1.Text)
                Else
                    label5.Text = ""
                End If
            End With
        End Sub
    
    Private Sub CheckBox2_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox2.CheckedChanged
              With CheckBox1
                  If .Checked Then
            label5.Text = DateAdd("d", 180, Guna2DateTimePicker1.Text)
                  Else
                    label5.Text = ""
                  End If
              End With
        End Sub
    
    si sembra normale???

  2. #2
    Non ho capito nulla
    ℹ️ Leggi di pi su AntonioG ...

  3. #3
    Sgrubak non  in linea Scribacchino
    Quote Originariamente inviato da manu9874 Visualizza il messaggio
    il problema chequando salvo i dati nella datagrid o nel file access la scadenza me la memorizza al 30/12/1899
    Quindi il problema riguarda il salvataggio... Come lo effettui? Hai un valore di default nel campo?

    Ad ogni modo, pi che due CheckBox non sarebbe opportuno che ci siano due RadioButton?

  4. #4
    manu9874 non  in linea Novello
    hai visto l'immagine?? cmq in questa tabella access ho la data di iscrizione e una di scadenza...la scadenza che deve essere annuale o semestrale e ho aggiunto 2 check box per darmi la data o a 180 o a 365 giorni...quando vado a memorizzare i dati nel database mi salva la scadenza ail 30/12/1899 (esempio iscrizione 07/05/2021 scadenza 30/12/1899) se vedi QUI forse capisci meglio.

  5. #5
    manu9874 non  in linea Novello
    frustrante solo per me far domande a cui non viene data risposta?

    Quote Originariamente inviato da Sgrubak Visualizza il messaggio
    Quindi il problema riguarda il salvataggio... Come lo effettui? Hai un valore di default nel campo?

    Ad ogni modo, pi che due CheckBox non sarebbe opportuno che ci siano due RadioButton?
    il salvataggio lo faccio tramite select vi metto il codice

    Private Sub Guna2Button2_Click(sender As Object, e As EventArgs) Handles Guna2Button2.Click
            Try
                Dim sql As String
                Dim cmd As New OleDb.OleDbCommand
                con.Open()
                sql = "INSERT INTO Soci (Nome,Cognome,iscrizione,Scadenza) values ('" & Guna2TextBox1.Text & "', '" & Guna2TextBox2.Text & "','" & (Guna2DateTimePicker1.Value) & "'," & Label5.Text & ");"
                cmd.Connection = con
                cmd.CommandText = sql
                i = cmd.ExecuteNonQuery
                If i > 0 Then
                    MsgBox("Utente Salvato.")
                Else
                    MsgBox("Utente non Salvato.")
                End If
    
            Catch ex As Exception
                MsgBox(ex.Message)
            Finally
                con.Close()
                loadrecord()
            End Try
        End Sub
    
    Ultima modifica di AntonioG; 07-05-2021 19:50 

  6. #6
    A parte il fatto che dovresti usare i Parameters e non aggiungere i dati nella stringa, di che tipo il campo delle date?

    Suppongo siano di diverso tipo dato che le scrivi in modo diverso.
    ℹ️ Leggi di pi su AntonioG ...

  7. #7
    manu9874 non  in linea Novello
    buona sera sia il campo iscrizione e scadenza sono di tipo data

  8. #8
    E perch li aggiungi alla stringa in modo diverso?

    ,'" & (Guna2DateTimePicker1.Value) & "'," & Label5.Text
    ℹ️ Leggi di pi su AntonioG ...

  9. #9
    L'avatar di SirJo
    SirJo non  in linea Scolaretto
    Stai facendo un pasticcio tra tipi di dati e tipi di linguaggi.
    Ovviamente la linea incriminata la
    label5.Text = DateAdd("d", 365, Guna2DateTimePicker1.Text)
    
    Dal DateTimePicker prelevi la data sottoforma di stringa, ma perch non prendi direttamente la data ?
    Cos eviti pasaggi di tipi di dati.
    Comunque, anche se vuoi prendere la data in modalit testo ok, ma prima di poter aggiungere 365 giorni devi convertire da stringa a data, stando attento a non invertire giorno e mese, per cui fai delle prove.
    Per aggiungere un anno quindi evita di usare DateAdd e utilizza le funzioni VB.NET
    Ad esempio:
    Dim DataScadenza = Guna2DateTimePicker1.Value.AddYear(1)
    
    Evita di usare i numeri di giorni, non sempre gli anni hanno 365 giorni, come anche il 180 per il semestrale sbagliato, devi usare un .AddMonth(6)
    Poi, per mostrare la data sulla label devi usare:
    Label5.Text = DataScadenza.ToString("dd\/MM\/yyyy")
    
    Per salvare la data sul database un discorso ancora diverso.
    Come ti hanno detto la cosa migliore sarebbe usare i parametri, lavorando quindi solo sul tipo data, ma se vuoi costruirti la query ok, tieni per presente che Access dovrebbe utilizzare la data nel formato MM/dd/yyyy per cui devi prepararti la query correttamente.
    Fai un passo alla volta e controlla con il debug i valori.
    E guarda che usare due checkbox sbagliato perch se l'utente li seleziona tutti e due il programma non sa pi cosa fare, come hai detto tu o annuale o semestrale, e questo si traduce in due radiobutton

    Sergio

  10. #10
    manu9874 non  in linea Novello
    buon giorno grazie dei consigli che mi avete dato...tra poco ho la dad e sicuramente nel pomeriggio provo i vostri consigli.

    @antonio potresti indirizzarmi dove posso studiare come collegare i database con i parametri GRAZIE

    p.s. grazie a voi sto imparando tanto ul mio prof dopo 1 anno ci fa fare ancora HELLO WORLD grazie e buona giornata.

+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo

Potrebbero interessarti anche ...

  1. Risposte: 4
    Ultimo Post: 13-02-2012, 11:36
  2. vb e database: perch evitare il control DATA?
    Da lawrencetb nel forum Visual Basic 6
    Risposte: 6
    Ultimo Post: 26-12-2010, 14:39
  3. non riesco a inserire data e ora nel database
    Da gianluca13 nel forum PHP
    Risposte: 3
    Ultimo Post: 15-11-2006, 10:44
  4. Risposte: 9
    Ultimo Post: 31-07-2006, 14:37
  5. Inserimento data corretta
    Da juanpablo2 nel forum Visual Basic 6
    Risposte: 3
    Ultimo Post: 06-10-2004, 12:29