Discussione chiusa
Pagina 1 di 3 123 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21

Errore inserimento nuovo record

  1. #1
    L'avatar di freddy60
    freddy60 non è in linea Scolaretto
    Post
    227
    Like Inviati  
    0
    Like Ricevuti  
    0
    Questa è l'mmagine del programma che sto facendo

    Nome:   Senza-titolo-2.jpg
Visite:  97
Grandezza:  99.5 KB

    Questo è il Form2 quando devo inserire una nuova operazione:

    Nome:   Senza-titolo-1.jpg
Visite:  99
Grandezza:  80.7 KB

    Questo è il codice del pulsante Aggiungi:

     Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    
            Form1.Panel8.Visible = False
    
            ContabilitaBindingSource.EndEdit()
            ContabilitaTableAdapter.Update(BudgetFamiliareDataSet.contabilita)
            ContabilitaBindingSource.AddNew()
            Form1.ContabilitaTableAdapter.FillByAnnoCorrente(Form1.BudgetFamiliareDataSet.contabilita)
    
            Form1.BntFiltra.BackColor = Color.WhiteSmoke
            Form1.BntTuttiDati.BackColor = Color.WhiteSmoke
            Form1.BntMeseCorrente.BackColor = Color.WhiteSmoke
            Form1.BntAnnoCorrente.BackColor = Color.LightCyan
            Form1.Button3.BackColor = Color.WhiteSmoke
            Form1.BntAnnoScorso.BackColor = Color.WhiteSmoke
    
            Try 'qui calcolo il saldo delle entrate e delle uscite
    
                Dim cmd As SqlCommand
                Dim conn As New SqlConnection("Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\My Project\BudgetFamiliare.mdf;Integrated Security=True")
                Dim Sql As String = "SELECT SUM(entrate) As TotaleE, SUM(uscite) As TotaleU FROM contabilita WHERE idconto = " & IdContoTextBox.Text & "And  (Year(Data) = Year(GETDATE()))"
    
    
                cmd = New SqlCommand(Sql, conn)
                conn.Open()
    
                Dim DR As SqlDataReader
                DR = cmd.ExecuteReader
    
                DR.Read()
    
                Dim TotE As Decimal = IIf(IsDBNull(DR("TotaleE")), 0, DR("TotaleE"))
                Dim TotU As Decimal = IIf(IsDBNull(DR("TotaleU")), 0, DR("TotaleU"))
    
                Form1.LblTotale.Text = String.Format("{0:c2}", TotE - TotU).ToString()
                Form1.LblTotale.ForeColor = IIf(TotE - TotU < 0, Color.Red, Color.Green)
    
                cmd.Dispose()
                conn.Close()
    
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try
    
    Il problema è che quando clicco sul pulsate aggiungi mi ritorna questo errore:

    sintasi non corretta in prossimità della parola chiave 'And'

    Dove sbaglio?
    Ultima modifica di freddy60; 28-12-2020 20:21 

  2. #2
    L'avatar di AntonioG
    AntonioG non è in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Post
    17,396
    Blogs
    5
    Like Inviati  
    5
    Like Ricevuti  
    32
    Scusa Freddy, ma se c'è scritto

    "in prossimità della parola chiave 'And'"

    cosa devi controllare secondo te?
    ℹ️ Leggi di più su AntonioG ...

  3. #3
    L'avatar di freddy60
    freddy60 non è in linea Scolaretto
    Post
    227
    Like Inviati  
    0
    Like Ricevuti  
    0
    le entrate e le uscite dell'anno in corso

  4. #4
    L'avatar di AntonioG
    AntonioG non è in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Post
    17,396
    Blogs
    5
    Like Inviati  
    5
    Like Ricevuti  
    32
    Freddy ma mi capisci? Che risposta dai?

    Ti ho chiesto un'altra cosa!

    Cosa devi controllare nel tuo codice!
    ℹ️ Leggi di più su AntonioG ...

  5. #5
    L'avatar di freddy60
    freddy60 non è in linea Scolaretto
    Post
    227
    Like Inviati  
    0
    Like Ricevuti  
    0
    Quando clicco su Aggiungi dalla form2 deve inserire nella DV la nuova opreazione e calcolarmi il totale in LblTotale

    Se metto solo questo codice nel pulsante Aggiungi Funziona Perfettamente:

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    
            Form1.Panel8.Visible = False
    
            ContabilitaBindingSource.EndEdit()
            ContabilitaTableAdapter.Update(BudgetFamiliareDataSet.contabilita)
            ContabilitaBindingSource.AddNew()
            Form1.ContabilitaTableAdapter.FillByAnnoCorrente(Form1.BudgetFamiliareDataSet.contabilita)
    
     Try
    
                Form1.ContabilitaDataGridView.FirstDisplayedScrollingRowIndex = Form1.ContabilitaDataGridView.RowCount - 2
    
                Dim entrate As Decimal = 0
                Dim uscite As Decimal = 0
    
                For r = 0 To Form1.ContabilitaDataGridView.Rows.Count - 1
                    If Not DBNull.Value.Equals(Form1.ContabilitaDataGridView(6, r).Value) Then
                        uscite += CType(Form1.ContabilitaDataGridView.Rows(r).Cells(6).Value, Double)
                    End If
                Next
    
    
                For r = 0 To Form1.ContabilitaDataGridView.Rows.Count - 1
                    If Not DBNull.Value.Equals(Form1.ContabilitaDataGridView(5, r).Value) Then
                        entrate += CType(Form1.ContabilitaDataGridView.Rows(r).Cells(5).Value, Double)
                    End If
                Next
    
    
                Form1.LblTotale.Text = (entrate - uscite).ToString("c2")
    
    End Sub
    
    Questo pezzo di codice:

      Dim cmd As SqlCommand
               Dim conn As New SqlConnection("Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\My Project\BudgetFamiliare.mdf;Integrated Security=True")
               Dim Sql As String = "SELECT SUM(entrate) As TotaleE, SUM(uscite) As TotaleU FROM contabilita WHERE idconto = " & IdContoTextBox.Text & "And  (Year(Data) = Year(GETDATE()))"
     
     
               cmd = New SqlCommand(Sql, conn)
               conn.Open()
     
               Dim DR As SqlDataReader
               DR = cmd.ExecuteReader
     
               DR.Read()
     
               Dim TotE As Decimal = IIf(IsDBNull(DR("TotaleE")), 0, DR("TotaleE"))
               Dim TotU As Decimal = IIf(IsDBNull(DR("TotaleU")), 0, DR("TotaleU"))
     
               Form1.LblTotale.Text = String.Format("{0:c2}", TotE - TotU).ToString()
               Form1.LblTotale.ForeColor = IIf(TotE - TotU < 0, Color.Red, Color.Green)
     
               cmd.Dispose()
               conn.Close()
    
    L'ho fatto perchè con l'anno nuovo deve riportarmi in LblTotale il saldo del 2020, pero dovrei togliere questo pezzo:

    And (Year(Data) = Year(GETDATE()))
    Ultima modifica di freddy60; 28-12-2020 20:47 

  6. #6
    L'avatar di AntonioG
    AntonioG non è in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Post
    17,396
    Blogs
    5
    Like Inviati  
    5
    Like Ricevuti  
    32
    Perché continui a dire cose senza rispondere a quello che ti ho detto di controllare?

    Ci provo un'ultima volta .

    Controlla

    IdContoTextBox.Text & "And
    ℹ️ Leggi di più su AntonioG ...

  7. #7
    L'avatar di freddy60
    freddy60 non è in linea Scolaretto
    Post
    227
    Like Inviati  
    0
    Like Ricevuti  
    0
    Antonio scusa non ti arrabiare, però sinceramente non riesco a capire cosa vuoi dire.

    forse questo IdContoTextBox.Text & "And è sbagliato?

    Puoi essere più chiaro.

  8. #8
    L'avatar di AntonioG
    AntonioG non è in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Post
    17,396
    Blogs
    5
    Like Inviati  
    5
    Like Ricevuti  
    32
    Io mi arrabbio con 2 b

    Ti ho detto cosa controllare ... ma davvero non mi capisci? Come dovrei essere più chiaro?

    Perché non usi Excel o Access per fare questa tua contabilità e lasci perdere la programmazione? Senza offesa
    ℹ️ Leggi di più su AntonioG ...

  9. #9
    L'avatar di freddy60
    freddy60 non è in linea Scolaretto
    Post
    227
    Like Inviati  
    0
    Like Ricevuti  
    0
    Devo controllare il saldo dei tre conti di tutte le operazioni

    cioè quando clicco per esempio su personale in lblTotale deve riportarmi il totale di tutte le operazioni e lo stesso vale anche per gli altri due conti.

    spero di essermi spiegato spero........

  10. #10
    L'avatar di AntonioG
    AntonioG non è in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Post
    17,396
    Blogs
    5
    Like Inviati  
    5
    Like Ricevuti  
    32
    No, ci rinuncio. Si vede che non capisci quello che ti si dice.

    S vuoi riparti dall'inizio

    sintassi non corretta in prossimità della parola chiave 'And'

    e leggi nelle mie risposte cosa ti ho detto di controllare per rimediare a questo errore.

    Dopo di che, non ho altro da dirti.
    ℹ️ Leggi di più su AntonioG ...

Discussione chiusa
Pagina 1 di 3 123 ultimoultimo

Potrebbero interessarti anche ...

  1. Risposte: 7
    Ultimo Post: 04-05-2017, 18:27
  2. Maschera per inserimento nuovo record
    Da gipsy nel forum Microsoft Access
    Risposte: 3
    Ultimo Post: 27-01-2012, 15:53
  3. Risposte: 4
    Ultimo Post: 02-03-2011, 13:18
  4. Inserimento e modifica record in nuovo form
    Da ken1986 nel forum Visual Basic .Net
    Risposte: 11
    Ultimo Post: 22-11-2010, 18:50
  5. [Access] Inserimento nuovo record con controllo duplicato.
    Da Dante87 nel forum Microsoft Access
    Risposte: 9
    Ultimo Post: 08-04-2010, 19:07