Close
Faqja 2 prej 2 FillimFillim 12
Duke shfaqur rezultatin 11 deri 16 prej 16
  1. #11
    i/e regjistruar
    Anėtarėsuar
    21-04-2011
    Postime
    42

    Gjysen e problemit e zgjidha me mbeti edhe gjysa

    ky kod qe e gjeta ne internet po ma run komplet me gjith titujt e datagridit ,por vetem me mbeti mee zgjidh edhe nji problem te vogel qe Qelula A1: te ket tekstin 01.01.2011 dhe qelula B1e ket tekstin "Kosova"
    kurse te dhenat nga dataseti qe po insertohen nga ky kod te fillojne nga A3 e teposhte.
    qe ky kod sa per ilustrim veq edhe pak keni me ndihmu

    If ((DataGridView1.Columns.Count = 0) Or (DataGridView1.Rows.Count = 0)) Then
    Exit Sub
    End If

    'Creating dataset to export
    Dim dset As New DataSet
    'add table to dataset
    dset.Tables.Add()
    'add column to that table
    For i As Integer = 0 To DataGridView1.ColumnCount - 1
    dset.Tables(0).Columns.Add(DataGridView1.Columns(i ).HeaderText)
    Next
    'add rows to the table
    Dim dr1 As DataRow
    For i As Integer = 0 To DataGridView1.RowCount - 1
    dr1 = dset.Tables(0).NewRow
    For j As Integer = 0 To DataGridView1.Columns.Count - 1
    dr1(j) = DataGridView1.Rows(i).Cells(j).Value
    Next
    dset.Tables(0).Rows.Add(dr1)
    Next

    Dim excel As New Microsoft.Office.Interop.Excel.ApplicationClass
    Dim wBook As Microsoft.Office.Interop.Excel.Workbook
    Dim wSheet As Microsoft.Office.Interop.Excel.Worksheet

    wBook = excel.Workbooks.Add()
    wSheet = wBook.ActiveSheet()

    Dim dt As System.Data.DataTable = dset.Tables(0)
    Dim dc As System.Data.DataColumn
    Dim dr As System.Data.DataRow
    Dim colIndex As Integer = 0
    Dim rowIndex As Integer = 0

    For Each dc In dt.Columns
    colIndex = colIndex + 1
    excel.Cells(1, colIndex) = dc.ColumnName
    Next

    For Each dr In dt.Rows
    rowIndex = rowIndex + 1
    colIndex = 0
    For Each dc In dt.Columns
    colIndex = colIndex + 1
    excel.Cells(rowIndex + 1, colIndex) = dr(dc.ColumnName)

    Next
    Next

    wSheet.Columns.AutoFit()
    Dim strFileName As String = "D:\ss.xls"
    Dim blnFileOpen As Boolean = False
    Try
    Dim fileTemp As System.IO.FileStream = System.IO.File.OpenWrite(strFileName)
    fileTemp.Close()
    Catch ex As Exception
    blnFileOpen = False
    End Try

    If System.IO.File.Exists(strFileName) Then
    System.IO.File.Delete(strFileName)
    End If

    wBook.SaveAs(strFileName)
    excel.Workbooks.Open(strFileName)
    excel.Visible = True

  2. #12
    i/e regjistruar Maska e hot_prinz
    Anėtarėsuar
    29-05-2007
    Vendndodhja
    Frankfurt
    Postime
    9,878
    Pershendetje,

    si e thashe edhe me heret, struktura e versioneve te Excelit ndryshon pergjate versioneve dhe kodi mund te mos funksionoje ne Excel 2003 dhe funksionon ne Excel 2007. Kodin qe e ke gjetur ne Google e pershtata per Excel 2007, a funksionon ne Excel 2003 nuk e di dhe nuk kam mundesi ta provoj sepse kam vetem versionin e 2007. Per ate nje File Csv eshte me praktike se funksionon me cdo lloj versioni te Excel-it.
    Sidoqofte, tani shtova dhe nje Buton per eksportim ne Excel, kodi hap nje moster te Excel File "mostra.xlsx" dhe eksportin e ruan ne "raporti.xlsx" mostra mund te formatizohet me ngjyra, rama, lule, etj. Ne qelulen A1 futet "Data:" ne B1 "Dita aktuale" ne D1 "Shitesi:" ne E1 "Kosova", emrat e shtyllave ne DataGrid eksportohen ne rreshtin e trete, kurse vlerat e DataGrid eksportohen nga rreshti 4 e tutje, ne fund llogaritet dhe eksportohet shuma e vlerave te mbetjeve.

    Kodi:
    Imports System.IO
    Imports System.Data.OleDb
    Imports Excel = Microsoft.Office.Interop.Excel
    
    Public Class Form1
    
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    
            Dim cn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Application.StartupPath + "\Artikujt.accdb")
            cn.Open()
    
            Dim adapter As OleDbDataAdapter = New OleDbDataAdapter("SELECT ArtikulliID, Shifra, Pershkrimi, CmimiFur, Hyrje FROM Hyrje ORDER BY Data", cn)
    
            Dim table As New DataTable()
    
            adapter.Fill(table)
    
            table.Columns.Add("Shuma e Daljeve")
            table.Columns.Add("Mbetja")
            table.Columns.Add("Vlera e Mbetjes")
    
            cn.Close()
    
            DataGridView1.DataSource = table
            DataGridView1.Update()
    
            dalja()
    
        End Sub
    
        Private Sub dalja()
    
            Dim cn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Application.StartupPath + "\Artikujt.accdb")
            cn.Open()
    
            Dim adapter As OleDbDataAdapter = New OleDbDataAdapter("SELECT ArtikulliID,Dalje FROM Dalje ORDER BY Data", cn)
    
            Dim table As New DataTable()
    
            adapter.Fill(table)
    
            For Each myRow In table.Rows
                Kalkulo(myRow(0), myRow(1))
            Next
    
            cn.Close()
    
        End Sub
    
        Private Sub Kalkulo(ByVal art As String, ByVal dalja As Integer)
    
            For Each DataGridViewRow In DataGridView1.Rows
    
                Dim artikulliId As Integer = CInt(DataGridView1(0, DataGridViewRow.Index).Value)
                Dim cmimiFur As Double = CDbl(DataGridView1(3, DataGridViewRow.Index).Value)
                Dim hyrje As Integer = CInt(DataGridView1(4, DataGridViewRow.Index).Value)
    
                If artikulliId = art Then
                    If dalja >= hyrje Then
                        DataGridView1(5, DataGridViewRow.Index).Value = hyrje
                        DataGridView1(6, DataGridViewRow.Index).Value = hyrje - DataGridView1(5, DataGridViewRow.Index).Value
                        DataGridView1(7, DataGridViewRow.Index).Value = DataGridView1(6, DataGridViewRow.Index).Value * cmimiFur
                        dalja = dalja - hyrje
                    ElseIf dalja < hyrje And dalja <> 0 Then
                        DataGridView1(5, DataGridViewRow.Index).Value = dalja
                        DataGridView1(6, DataGridViewRow.Index).Value = hyrje - dalja
                        DataGridView1(7, DataGridViewRow.Index).Value = DataGridView1(6, DataGridViewRow.Index).Value * cmimiFur
                        dalja = hyrje - dalja
                        dalja = 0
                    ElseIf dalja = 0 Then
                        DataGridView1(5, DataGridViewRow.Index).Value = 0
                        DataGridView1(6, DataGridViewRow.Index).Value = hyrje
                        DataGridView1(7, DataGridViewRow.Index).Value = DataGridView1(6, DataGridViewRow.Index).Value * cmimiFur
                    End If
    
                End If
    
            Next
    
        End Sub
    
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    
            Fshij_Raportin()
    
            Krijo_Raportin()
    
            Try
                Dim cn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Application.StartupPath + "\Artikujt.accdb")
    
                cn.Open()
    
                For Each DataGridViewRow In DataGridView1.Rows
    
                    Dim sqlStr = "INSERT INTO Raporti (ArtikulliID , Shifra, Pershkrimi, CmimiFur, Hyrje, ShumaeDaljeve, Mbetja, VleraeMbetjes) " _
                    & "VALUES (@ArtikulliID , @Shifra, @Pershkrimi, @CmimiFur, @Hyrje, @ShumaeDaljeve, @Mbetja, @VleraeMbetjes)"
    
                    Dim cmd As New OleDbCommand(sqlStr, cn)
    
                    cmd.Parameters.AddWithValue("@ArtikulliID", DataGridView1(0, DataGridViewRow.Index).Value)
                    cmd.Parameters.AddWithValue("@Shifra", DataGridView1(1, DataGridViewRow.Index).Value)
                    cmd.Parameters.AddWithValue("@Pershkrimi", DataGridView1(2, DataGridViewRow.Index).Value)
                    cmd.Parameters.AddWithValue("@CmimiFur", DataGridView1(3, DataGridViewRow.Index).Value)
                    cmd.Parameters.AddWithValue("@Hyrje", DataGridView1(4, DataGridViewRow.Index).Value)
                    cmd.Parameters.AddWithValue("@ShumaeDaljeve", DataGridView1(5, DataGridViewRow.Index).Value)
                    cmd.Parameters.AddWithValue("@Mbetja", DataGridView1(6, DataGridViewRow.Index).Value)
                    cmd.Parameters.AddWithValue("@VleraeMbetjes", DataGridView1(7, DataGridViewRow.Index).Value)
    
                    cmd.ExecuteNonQuery()
    
                Next
    
                cn.Close()
    
            Catch
            End Try
    
            MessageBox.Show("Raporti u ruajt ne Databaze!")
    
        End Sub
    
        Private Sub Krijo_Raportin()
    
            Try
                Dim objCmd As New OleDbCommand
                Dim cn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Application.StartupPath + "\Artikujt.accdb")
                cn.Open()
    
                Dim Sql = "CREATE TABLE Raporti ([Id] COUNTER, [ArtikulliID] INT,  [Shifra] TEXT(13), [Pershkrimi] TEXT(32), [CmimiFur] TEXT(13), [Hyrje] INT, [ShumaeDaljeve] INT, [Mbetja] INT, [VleraeMbetjes] TEXT(13))"
    
                objCmd = New OleDbCommand(Sql, cn)
                objCmd.ExecuteNonQuery()
    
                cn.Close()
    
            Catch
            End Try
    
        End Sub
    
        Private Sub Fshij_Raportin()
    
            Try
                Dim objCmd As New OleDbCommand
                Dim cn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Application.StartupPath + "\Artikujt.accdb")
                cn.Open()
    
                Dim Sql = "DELETE FROM Raporti"
    
                objCmd = New OleDbCommand(Sql, cn)
                objCmd.ExecuteNonQuery()
    
                cn.Close()
            Catch
            End Try
    
        End Sub
    
        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    
            Dim permbajtja As String = ""
    
            permbajtja += ";;;;SHEMBULLI NR 1;;;;" & vbNewLine
            permbajtja += ";;Data;;Emri shitesit;;;;" & vbNewLine
            permbajtja += ";;;;;;;;" & vbNewLine
            permbajtja += "Nr;ArtikulliID;Shifra;Pershkrimi;CmimiFur;Hyrje;Dalje;Mbetja;Vlera" & vbNewLine
    
            Dim x As Integer = 1
    
            For Each DataGridViewRow In DataGridView1.Rows
                permbajtja += (x).ToString() + ";"
                For i As Integer = 0 To DataGridView1.Columns.Count
    
                    Try
                        permbajtja += DataGridView1(i, DataGridViewRow.Index).Value.ToString() + ";"
                    Catch
                    End Try
    
                Next
                permbajtja += vbNewLine
                x += 1
    
            Next
    
            Dim vlera As Double
    
            For Each DataGridViewRow In DataGridView1.Rows
                vlera += DataGridView1(7, DataGridViewRow.Index).Value
            Next
    
            permbajtja += ";;;;;;;;" & vlera & vbNewLine
    
            Dim fs As FileStream = New FileStream("Shembull1.csv", FileMode.Create, FileAccess.Write)
            Dim sw As StreamWriter = New StreamWriter(fs)
    
    
            sw.Write(permbajtja)
    
            sw.Close()
            fs.Close()
    
            MessageBox.Show("Raporti u ruajt ne Excel[CSV]!")
    
        End Sub
    
        Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
    
            Dim xlApp As Excel.Application
            Dim xlWorkBook As Excel.Workbook
            Dim xlWorkSheet As Excel.Worksheet
            Dim misValue As Object = System.Reflection.Missing.Value
            Dim i As Int16, j As Int16
            Dim mostraXls As String = Application.StartupPath & "\mostra.xlsx"
            Dim saveXls As String = Application.StartupPath & "\raporti.xlsx"
    
            xlApp = New Excel.ApplicationClass
            If My.Computer.FileSystem.FileExists(mostraXls) = True Then
                xlWorkBook = xlApp.Workbooks.Open(mostraXls)
                xlWorkSheet = xlWorkBook.Sheets("Sheet1")
            Else
                xlWorkBook = xlApp.Workbooks.Add(misValue)
                xlWorkSheet = xlWorkBook.Sheets("Sheet1")
            End If
    
            xlWorkSheet.Cells(1, 1) = "Data:"
            xlWorkSheet.Cells(1, 2) = Now()
            xlWorkSheet.Cells(1, 4) = "Shitesi:"
            xlWorkSheet.Cells(1, 5) = "Kosova"
    
            For Each header As DataGridViewColumn In Me.DataGridView1.Columns
                xlWorkSheet.Cells(3, header.Index + 1) = header.HeaderText.ToString
            Next
    
            For i = 0 To DataGridView1.RowCount - 2
                For j = 0 To DataGridView1.ColumnCount - 1
                    xlWorkSheet.Cells(i + 4, j + 1) = DataGridView1(j, i).Value.ToString()
                Next
            Next
    
            Dim vlera As Double
    
            For Each DataGridViewRow In DataGridView1.Rows
                vlera += DataGridView1(7, DataGridViewRow.Index).Value
            Next
    
            xlWorkSheet.Cells(i + 4, j) = vlera
    
            xlWorkSheet.SaveAs(saveXls)
            xlWorkBook.Close(True, misValue, misValue)
            xlApp.Quit()
    
            releaseObject(xlWorkSheet)
            releaseObject(xlWorkBook)
            releaseObject(xlApp)
    
            MessageBox.Show("Datagrid u eksportua ne Excel!")
    
        End Sub
    
        Private Sub releaseObject(ByVal obj As Object)
    
            Try
    
                System.Runtime.InteropServices.Marshal.ReleaseComObject(obj)
    
                obj = Nothing
    
            Catch ex As Exception
    
                obj = Nothing
    
                MessageBox.Show("Exception Occured while releasing object " + ex.ToString())
    
            Finally
    
                GC.Collect()
    
            End Try
    
        End Sub
    
    End Class
    Projektin po e vendos pa databaze per shkak te limitit per bashkangjitje.
    Fotografitė e Bashkėngjitura Fotografitė e Bashkėngjitura  
    Skedarėt e Bashkėngjitur Skedarėt e Bashkėngjitur
    tempus fugit, amor manet in aeternum corde

  3. #13
    i/e regjistruar
    Anėtarėsuar
    21-04-2011
    Postime
    42

    Veq edhe nje problem edhe ska mo

    Ne datagrid nuk guxon te kete vlera e zbrazet pra null, ska ose aty ku eshte vlera e zbrazet duhet me figuru vlera "0" pr arsye se ata produkte qe figurojne ne hyrje dhe nuk i kemi ne dalje nuk reagojne ne formule, pra vlera eshte e zbrazet nese nuk jane shit atehere ede te mbetja edhe te vlera e mbetur duhet t ekemi vleren e jo zbraet blank apo null e ke te bashkangjitur foton, kjo kishte me u zgjidh lehte sikur ta gjeja formulen qe qelula mbetja te jete ebarabart me qelulen hyrje - qelula dalje se qelula dalje ka mundesi qe vlera e saj default te jete 0 keshtu qe ne raste kur nuk kemi shitje te produktit te mbushen me te dhenat edhe qelulat te zbrazta
    me duhet forula per mbledhjen apo shumzimin e qelulave eshte fjala ne datagrid
    Fotografitė e Bashkėngjitura Fotografitė e Bashkėngjitura  

  4. #14
    i/e regjistruar Maska e hot_prinz
    Anėtarėsuar
    29-05-2007
    Vendndodhja
    Frankfurt
    Postime
    9,878
    Problem ishe dhe ti

    sa per sqarim ti ketij incidenti nderkombtar:

    1. DataGrid ne fillim mbushet me rekorde nga tabela Hyrja
    2. Nga Tabela Dalja mirret vlera e daljes per cdo rresht dhe kalkulohen vlerat ne DataGrid per Daljet,

    per ate kane mbetur vlerat tjera te painvolvuara ne Dalje pa llogaritje. Tani mjafton qe ne fund, nje funksion te qarkulloje neper DataGrid dhe te kalkuloje vlerat e mbetjes nese jane te zbrazeta dhe te kalkuloje mbetjet per rekordet e pa involvuara ne Dalje.

    Me fjale tjera, ne Metoden Form Load, fut ne fund kete rresht:

    Kodi:
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    
            .
            .
            .
    
            dalja()
    
            kalkulo_zbraztirat()
    
        End Sub
    dhe fut poashtu ne Klase kete metodn kalkulo_zbrazetirat:

    Kodi:
        Private Sub kalkulo_zbraztirat()
    
            For i = 0 To DataGridView1.RowCount - 2
    
                Dim artikulliId As Integer = CInt(DataGridView1(0, i).Value)
                Dim cmimiFur As Double = CDbl(DataGridView1(3, i).Value)
                Dim hyrje As Integer = CInt(DataGridView1(4, i).Value)
    
                If IsDBNull(DataGridView1(7, i).Value) Then
                    DataGridView1(5, i).Value = 0
                    DataGridView1(6, i).Value = hyrje
                    DataGridView1(7, i).Value = DataGridView1(4, i).Value * cmimiFur
                End If
    
            Next
    
        End Sub
    tempus fugit, amor manet in aeternum corde

  5. #15
    i/e regjistruar
    Anėtarėsuar
    21-04-2011
    Postime
    42

    Nj ndihme te vogel

    Per shkak te formatit te ndryshem te daatave me duhet nje ndihme reth konvertimit te datave
    Fotografitė e Bashkėngjitura Fotografitė e Bashkėngjitura  

  6. #16
    i/e regjistruar Maska e hot_prinz
    Anėtarėsuar
    29-05-2007
    Vendndodhja
    Frankfurt
    Postime
    9,878
    Ekzistojne dy mundesi qe une i njoh, njera eshte me e lehte duke perdorur shfaqjen e dates ne kultura te ndryshme [Cultures], kjo eshte me e lehte:

    CultureInfo("en-US") = formati i dates ne amerike - 06/05/2011
    CultureInfo("de-DE") = formati i dates ne gjermani - 06.05.2011
    CultureInfo("sq-SQ") = mund te jete formati i dates ne Shqiperi, nuk jam i sigurte.

    Kodi:
    Imports System
    Imports System.Globalization
    Imports System.Threading
    
    Public Class Form1
    
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Thread.CurrentThread.CurrentCulture = New CultureInfo("en-US")
            TextBox2.Text = Format(CDate(TextBox1.Text), "dd/MM/yyyy")
        End Sub
    
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            TextBox1.Text = Format(Now(), "dd/MM/yyyy")
        End Sub
    
    End Class
    por mundesh edhe me i tejkalu kulturat e me e formatu daten si te deshiron vete, por kerkon me shume pune gjate konvertimit ne kultura tjera:

    Kodi:
    Public Class Form1
    
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    
            Dim dita As String = Format(CDate(TextBox1.Text), "dd").ToString()
            Dim muaji As String = Format(CDate(TextBox1.Text), "MM").ToString()
            Dim viti As String = Format(CDate(TextBox1.Text), "yyyy").ToString()
    
            TextBox2.Text = dita & "/" & muaji & "/" & viti
    
        End Sub
    
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    
            TextBox1.Text = Format(Now(), "dd/MM/yyyy")
    
        End Sub
    
    End Class
    Ndryshuar pėr herė tė fundit nga hot_prinz : 06-05-2011 mė 04:53
    tempus fugit, amor manet in aeternum corde

Faqja 2 prej 2 FillimFillim 12

Regullat e Postimit

  • Ju nuk mund tė hapni tema tė reja.
  • Ju nuk mund tė postoni nė tema.
  • Ju nuk mund tė bashkėngjitni skedarė.
  • Ju nuk mund tė ndryshoni postimet tuaja.
  •