ANASAYFA | BLOG | SORU CEVAP | REFERANSLARIM | DOWNLOAD | HAKKIMDA | İLETİŞİM | ARAMA
~~~SORU~CEVAP~~~
Gönderen: Burak Alkaş
8.5.2014 0
Konu: C# Access row_number kullanımı ve Excele aktarmada metnin tarih formatına dönüşme sorunu

Merhaba iyi çalışmalar, Benim 2 sorunum var, Yardımcı olursanız sevinirim.

1- Daha önceki yazınızda anlattığınız "Row number" olayını, access veritabanı kullanarak kullanmak istiyorum. Yazınız Sql olduğundan bende hata verdi. Accesste kullanmak için nasıl bir kod yazmam gerekli? Ben bazen tüm alanları çekiyorum. Bunun için;

select row_number * from TabloAdi şeklinde çekmek hata verirmi?

select Row_number, KullaniciAdi from Kullanicilar

2- Diğer sorunum ise, datagridviewdeki verileri excele aktarıyorum. Fakat ilk kolonda yer alan "Demirbaş Numaralı" alan mesela 2-1-6 şeklinde metin türünden accces veritabanına kaydedilen alanı, excele aktardığımda tarih formatına dönüştürüyor ve Excel de 01.Şub 2006 şeklini alıyor. Excel de bu alanı hücre biçimlendirme yapsamda alakasız bir sayı çıkıyor. Bunu nasıl çözerim acaba?

 

private void btnExcel_Click(object sender, EventArgs e)

{

Microsoft.Office.Interop.Excel.

Application excel = new Microsoft.Office.Interop.Excel.Application();

excel.Visible = true;

object Missing = Type.Missing;

Microsoft.Office.Interop.Excel.

Workbook workbook = excel.Workbooks.Add(Missing);

Microsoft.Office.Interop.Excel.

Worksheet sheet1 =(Microsoft.Office.Interop.Excel.Worksheet)workbook.Sheets[1];

int StartCol = 1;

int StartRow = 1;

for (int j = 0; j < dgvGenelListe.Columns.Count; j++)

{

Microsoft.Office.Interop.Excel.

Range myRange = (Microsoft.Office.Interop.Excel.Range)sheet1.Cells[StartRow, StartCol + j];

myRange.Value2 = dgvGenelListe.Columns[j].HeaderText;

}

StartRow++;

for (int i = 0; i < dgvGenelListe.Rows.Count; i++)

{

for (int j = 0; j < dgvGenelListe.Columns.Count; j++)

{

try

{

DataGridViewCell cell = dgvGenelListe[j, i];

sheet1.Cells[i + 2, j + 1] = cell.Value;

}

catch

{

}

}

}

}

Devamını oku...
YAZILIM
2920 kez okundu
Gönderen: ~~FARUK UNAL~~
9.5.2014 0

Access ile çok ilgilenmediğimden row_number fonksiyonunu test etmemiştim ama sorunuz üzerine test ettiğimde access de bunun çalışmadığını gördüm, Bu fonksiyonun access de de farklı bir karşılığı vardır diye düşünüyorum, google da ararsanız muhtemelen çıkar.

Bütün alanları çekmek ile belirli kolonları çekmek arasında bir fark yok, Row_number ()  over (order by kolonAdı)  burda kolon adına ne yazarsanız ona göre sıralama yapacaktır, eğer bütün kolonları çekecekseniz, bundan sonra virgül koyup * dediğinizde hepsi gelecektir

Excel e atma işleminizdekinin benzeri bir sorunla daha önce karşılaşmıştım. Excelde hücre biçimlendirme işlemi yapıldığında sorun çözülüyor ama ilk olarak excel e atıp daha sonra hücre metni biçimlendirildiğinde Sizinde karşılaştığınız gibi tam olarak birebir gönderilen veri olmuyor, Ben bu sorunun çözümü için öncelikle boş bir excel de ilgili kolonlara hücre biçimlendirmesi yaptım, daha sonra ise bu excel i her excel e aktarma işlemi yapacağımda kopyalıyarak yeni kopya üzerine verilerin atılmasını ayarladım. Bu şekilde yaptığınızda açılan excel de hücreler önceden biçimlendirilmiş olacağından gönderilen veri direk gönderdiğiniz şekilde excel e yansımış olacaktır,, kolay gelsin, iyi çalışmalar


Ad Soyad :
E-mail :
Cevap :
DoÄŸrulama Kodu