Kod:
sEntry = "Pazartesi" & vbTab & "08:00-09:00" & rec.Fields("ders")
.AddItem sEntry, 1
Yukardaki gibi visual basic 6.0'da rec.Fields("ders") komutunu yazdığımda MSFlexGrid'in belirlediğim alanına dersi atıyor. Fakat veritabanında ders'in altındaki ilk kısmı atıyor.
Ben MsFlexGridde başka bir alana ikinci, üçüncü, dördüncü dersleri nasıl çektireceğim?
Üstte sorduğum soruyu rec.MoveNext koduyla çözdüm..
Visual Basic 6.0'da yapmak zorunda oldugum bi proje için günlerdir calısıyorum. Bu işten hiç anlamıyorum araştıra araştıra buraya kadar geldim.. MSFlexGrid ile şu şekilde veritabanından çekim yapıyorum..
Kafam bi yerden sonra basmadı.. Hatta durumu anlatacak kadar bile mecelim kalmadı resim ile anlatmaya calısayım..
Şuandaki yapı üstteki gibi.. rec.Fields("HOCA") ve rec.MoveNext komutlarıyla dersleri atıyorum..
Fakat benim istediğim şu.. Eğer bir dersin saati neyse ona göre tabloya yerleşsin..
Mesela diyelim Bilgisayar Programlama dersinin saati 4 saat olsun..
Tabloya otomatik bu şekilde nasıl gelir?
MsFlex te hücre birleştirme varmı bilmiyorum ancak o üç hücrenin rengini aynı yapabilirsin. İlk hücreyede dersin adını, ikinciye hocasını yazdırabilirsin. VS6 kullanmadığım için ancak bu kadar yardımcı olabiliyorum.
Kod:
Private Sub firmalari_listele()
Dim listele As New ADODB.Recordset
listele.Open "select * from firma_kayit", "dsn=kendistp", adOpenStatic, adLockOptimistic
MSFlexGrid1.ScrollBars = (1)
MSFlexGrid1.Cols = 13
MSFlexGrid1.ColWidth(0) = 500
MSFlexGrid1.ColWidth(1) = 5000
MSFlexGrid1.ColWidth(2) = 4000
MSFlexGrid1.ColWidth(3) = 3500
MSFlexGrid1.ColWidth(4) = 3000
MSFlexGrid1.ColWidth(5) = 3000
MSFlexGrid1.ColWidth(6) = 4000
MSFlexGrid1.ColWidth(7) = 4000
MSFlexGrid1.ColWidth(8) = 5000
MSFlexGrid1.ColWidth(9) = 3000
MSFlexGrid1.ColWidth(10) = 1000
MSFlexGrid1.ColWidth(11) = 5000
MSFlexGrid1.ColWidth(12) = 5000
MSFlexGrid1.Width = 18500
MSFlexGrid1.TextMatrix(0, 0) = "Firma No"
MSFlexGrid1.TextMatrix(0, 1) = "Firma Adı"
MSFlexGrid1.TextMatrix(0, 2) = "Firma Yetkilisi"
MSFlexGrid1.TextMatrix(0, 3) = "Firma Telefonu"
MSFlexGrid1.TextMatrix(0, 4) = "Fax"
MSFlexGrid1.TextMatrix(0, 5) = "GSM"
MSFlexGrid1.TextMatrix(0, 6) = "E-Mail"
MSFlexGrid1.TextMatrix(0, 7) = "İnternet Adresi"
MSFlexGrid1.TextMatrix(0, 8) = "Vergi Dairesi"
MSFlexGrid1.TextMatrix(0, 9) = "Vergi No"
MSFlexGrid1.TextMatrix(0, 10) = "Tarih"
MSFlexGrid1.TextMatrix(0, 11) = "Adres"
MSFlexGrid1.TextMatrix(0, 12) = "Not"
MSFlexGrid1.Rows = listele.RecordCount + 1
For r = 1 To listele.RecordCount
MSFlexGrid1.TextMatrix(r, 0) = listele("firma_no")
MSFlexGrid1.TextMatrix(r, 1) = listele("firma_adi")
MSFlexGrid1.TextMatrix(r, 2) = listele("firma_yetkilisi")
MSFlexGrid1.TextMatrix(r, 3) = listele("firma_telefonu")
MSFlexGrid1.TextMatrix(r, 4) = listele("fax")
MSFlexGrid1.TextMatrix(r, 5) = listele("gsm")
MSFlexGrid1.TextMatrix(r, 6) = listele("e_mail")
MSFlexGrid1.TextMatrix(r, 7) = listele("internet_adresi")
MSFlexGrid1.TextMatrix(r, 8) = listele("vergi_dairesi")
MSFlexGrid1.TextMatrix(r, 9) = listele("vergi_no")
MSFlexGrid1.TextMatrix(r, 10) = listele("tarih")
MSFlexGrid1.TextMatrix(r, 11) = listele("adres")
MSFlexGrid1.TextMatrix(r, 12) = listele("not")
listele.MoveNext
Next
End Sub
Buradaki veri tabanı adını msflexgrid satır ve sütün sayısını adlarını kendi programına göre ayarlarsın.
Merhaba
Ben az biraz visual basıc 6 bilgim olup amatör olarak bazı programlar yazmaktayım.
Excel'de yaptığım hesaplama+Çizim programını visual basıc 6 ile yapmak istiyorum. Bunun için ilk defa grid nesnesi ile çalışmam gerekti.
Bir sürü grid nesnesi gördüm. Uygun olan hangisi bilmiyorum fakat msflexgrid seçtim
Uygun olanı mı seçtim bilmiyorum.
bi siteden manuel olarak veri girişine olanak veren kodları biraz ekleme yaparak uyguladım. Şimdi bu manuel kod girişi kısmına veri girişini sınırlayacak kod eklemem gerekmektedir.
Bununla ilgili biraz kod araştırması yaptım bulamadım. Yardımcı olabilirmisiniz lütfen ?
bu şekilde sınırlı sayıda rakam ve 1 adet nokta girilmesine müsade edecek kod için yardımcı olabilirmisiniz ?
Merhaba Sayın @
ikayserili
FormatNumber(741.8529630, 4) gibi VB kodu ile hücre değerini formatlayabilirsiniz bunun neticesinde sayı 741.8529 olarak görüntülenir.
Veya herbir hücre için yazdığınız kodlara
With MSHFlexGrid1
.Row = 1
.Col = 1
.Text = Format$(MyNum, "#.0000")
End With
mantığı ile kodu ekleyerek yukarıdaki gibi 741.8529 şeklinde formatlayabilirsiniz.
(04/01/2021, 16:11)atoykan yazdı: Merhaba Sayın @ikayserili
FormatNumber(741.8529630, 4) gibi VB kodu ile hücre değerini formatlayabilirsiniz bunun neticesinde sayı 741.8529 olarak görüntülenir.
Veya herbir hücre için yazdığınız kodlara
With MSHFlexGrid1
.Row = 1
.Col = 1
.Text = Format$(MyNum, "#.0000")
End With
mantığı ile kodu ekleyerek yukarıdaki gibi 741.8529 şeklinde formatlayabilirsiniz.
Merhaba Sayın @
atoykan
Kodları benim mevcut kodlara uygulayamadım malesef.