[TANYA] Perbandingan Nilai CELL Antara Dua Datagridview

Forum diskusi pemrograman VB.NET

[TANYA] Perbandingan Nilai CELL Antara Dua Datagridview

Postby topeng » 12 Feb 2012, 09:32

Menyambung Treahd yang sebelumnya [sudah terjawab]:
visual-basic-net/menghitung-nilai-cell-dari-dua-datagrid-t4157.html

Saat melakukan perhitungan (pengurangan) dari Stock Opname (SO) System dan SO Fisik, dengan jumlah UPC yang berbeda contohnya seperti ini :

SO2.JPG


Jika dihitung selisihnya akan menghasilkan Tabel Hasil (Datagrid View Paling Bawah) dengan benar, artinya barang yang tidak ada dalam SO Fisik Akan dianggap 0 (Tidak ada) sehingga SEHARUSNYA barang tersebut QTY Masih sama seperti SO Pada Sistem.

SO3.JPG


Namun dengan catatan, bahwa UPC Pada SO Sistem dan UPC pada SO FIsik HARUS SAMA URUTANNYA, Jika UPC 234 Pada Cell 1 didalam SO Sistem Maka UPC 234 Pada SO Fisik Harus Juga Pada Cell 1.

Pertanyaannya :

Bagaimana agar Walaupun UPC pada SO Fisik Tidak Sama Urutannya, dan Hasil Dari Pengurangannya Menjadi Benar sesuai dengan UPC yang bersangkutan ?

Catatan :
Saya sudah mencoba menggunakan logika perbandingan (IF Else) tetapi tidak berhasil.

Code: Select all
Function normalisasi2() As Decimal
        insert_baris()
        Dim TambahUPC(dgvvega.Rows.Count) As Decimal
        Dim PindahQTY(dgvvega.Rows.Count) As Decimal
        Dim i As Integer

        Try
            For i = 0 To dgvvega.Rows.Count - 1
                 If dgvvega.Item(0, i).Value <> dgvfisik.Item(0, i).Value Then
                    If dgvfisik.Item(0, i).Value = "" Then
                        TambahUPC(i) = dgvvega.Item(0, i).Value
                        PindahQTY(i) = dgvfisik.Item(1, i).Value = "0"
                        dgvtemp.Rows.Add(New String() {TambahUPC(i), PindahQTY(i)})
                    Else
                        TambahUPC(i) = dgvfisik.Item(0, i).Value
                        PindahQTY(i) = dgvfisik.Item(1, i).Value
                        dgvtemp.Rows.Add(New String() {TambahUPC(i), PindahQTY(i)})
                    End If

                 Else
                    TambahUPC(i) = dgvfisik.Item(0, i).Value
                    PindahQTY(i) = dgvfisik.Item(1, i).Value
                    dgvtemp.Rows.Add(New String() {TambahUPC(i), PindahQTY(i)})
                   
                End If
            Next
            btnnormalisasi.Enabled = False
            lbljmlhfisik.Text = dgvtemp.RowCount.ToString()
         
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Function


Code: Select all
Function insert_baris() As Decimal
        Dim jumlahvega As Integer
        Dim jumlahfisik As Integer
        Dim jumlahtemp As Integer

        jumlahvega = dgvvega.Rows.Count
        jumlahfisik = dgvfisik.Rows.Count
         
        dgvfisik.Rows.Add(jumlahvega - jumlahfisik)

End Function


Mungkin akan berhasil jika isi dari Cell (Nilai UPC) SO Sistem Satu persatu akan di bandingkan dengan isi dari Cell So Fisik, kemudian jika tidak ada akan dibuat pada ROW dibawahnya dan diisi dengan QTY bernilai 0 (Nol). Tetapi saya masih bingung dengan codingnya.

MOhon Bantuannya,

Wassalam
Hendra Wijaya
You do not have the required permissions to view the files attached to this post.
User avatar
topeng
Prajurit Dua
Prajurit Dua
 
Posts: 12
Joined: 09 Feb 2012, 23:15
Memberi kopi: 5 cangkir
Mendapat kopi: 0 cangkir

Return to Visual Basic .NET

Who is online

Users browsing this forum: No registered users and 6 guests