none
Access ve exceldeki verileri eşleştirip access tablosunu güncellemek RRS feed

  • Soru

  • merhaba 

    benim yapmak istediğim programda , accesste tuttuğum veritabanın da tb firması x hammaddesinde yer alan gelentonaj kısmına , excelde yer alan kantar raporunda tb firmasından gelen (fark sutünündaki rakamlar) x hammaddelerinin toplamını ekleyip veritabanını güncellemek . 

    baglanti.Open();
                baglantiexcel.Open();
                string excelcmd = "select firma,hammadde,fark FROM [Sayfa1$]";
                string acccesscmd = "select firma,hammadde,gelentonaj from alacak";
    
                OleDbDataAdapter tabloexoku = new OleDbDataAdapter(excelcmd, baglantiexcel);
                DataTable tabloexcel = new DataTable();
                tabloexoku.Fill(tabloexcel);
    
                OleDbDataAdapter tabloaccoku = new OleDbDataAdapter(acccesscmd, baglanti);
                DataTable tabloacc = new DataTable();
                tabloaccoku.Fill(tabloacc);
    
                int toplam = 0;
                int gelentonaj = 0;
                int fark = 0;
                for (int i = 0; i < tabloacc.Rows.Count; i++)
                {
                    for (int k = 0; k < tabloexcel.Rows.Count; k++)
                    {               
                        if (tabloacc.Rows[i][0].ToString() == tabloexcel.Rows[k][0].ToString())
                        {
                            if (tabloacc.Rows[i][1].ToString()==tabloexcel.Rows[k][1].ToString())
                            {
                                gelentonaj = Convert.ToInt32(tabloacc.Rows[i][2]);
                                fark = Convert.ToInt32(tabloexcel.Rows[k][2]);
                                toplam = gelentonaj + fark;
                                toplam = toplam + gelentonaj;                            
                            }
                        }                   
                        OleDbCommand ekle = new OleDbCommand("update alacak set gelentonaj='" + toplam + "' where hammadde='" + tabloacc.Rows[i][1] + "' and firma='" + tabloacc.Rows[i][0] + "'", baglanti);
                        ekle.ExecuteNonQuery();
                    }
                }
                baglantiexcel.Close();
                baglanti.Close();


    Yazdığım kodlarda birden çok gelen x hammaddesinin kg lerini toplatamadım . şimdiden teşekkürler. 


    26 Eylül 2019 Perşembe 09:40

Tüm Yanıtlar

  • Kesinlikle Access yerine SQL kullanmanızı öneririm. '"+ +"' yerine parametre kullanmanızı öneririm. 

    Merak et, Araştır, Geliştir. Harun Yılmaz

    26 Eylül 2019 Perşembe 10:42