Imex ile ilgili bir mesajınızı hatırlar gibiyim ama içeriğini tamamen unutmuşum)
Nöbet Tutanların Hafta İçi Ve Hafta Sonu Sayısını Hesaplama
Yanılmıyorsam bu konudaki 20. mesajdı
(17/01/2020, 19:07)feraz yazdı: Tabii ilk 8 satır veri tipinin aynı olması gibi bazı meseleler var.Birde eğer sütundaki veri tipleri aynı değilse imex=1 diye kod eklenmeli select kısmına.
Accesste bir alanın formatı sayıysa oraya metin girilemiyor bildiğim excelde böyle olmadığı için çözüm imex=1 ekleniyor.
Belki faydası olur yazdıklarımın.
Evet üstadım o konu
Bazı durumlarda dictionary ado dan bile hızlı olabiliyor tabii ado da kod kısa olma avantajı var.Bu konuyu açan üstadın dosyasında heralde 30 küsur satır olacağı ve o kadarda kişi olacağı için en uygun formüllü çözümde olabilir sonuçta kişiler belli tabii dosya böyleyse.Neyse hayırlı geceler abey.
Bazı durumlarda dictionary ado dan bile hızlı olabiliyor tabii ado da kod kısa olma avantajı var.Bu konuyu açan üstadın dosyasında heralde 30 küsur satır olacağı ve o kadarda kişi olacağı için en uygun formüllü çözümde olabilir sonuçta kişiler belli tabii dosya böyleyse.Neyse hayırlı geceler abey.
(17/07/2020, 23:47)berduş yazdı: @feraz beyBir örnek hazırladım abey,denerseniz göreceksinizki a ve b olanlar aktarılmıyor.Bu yüzden genelde herzaman Imex=1 eklemeyi tercih ediyorum.
Alıntı:recordset bazen verileri almıyordemiştiniz bir yorumunuzda, hangi durumlarda almıyor belli mi?
Kodda altta.
Private Sub CommandButton1_Click()
Dim con As Object, rs As Object
With Sheets("Sayfa2")
.[C:C] = ""
Set con = CreateObject("adodb.connection")
Set rs = CreateObject("adodb.recordset")
con.Open "provider=microsoft.ace.oledb.12.0;data source=" & ThisWorkbook.FullName & ";extended properties=""excel 12.0;hdr=no;"""
rs.Open "SELECT f1 FROM [Sayfa2$A2:A] WHERE not isnull(f1)", con, 1, 1
If rs.RecordCount > 0 Then .[C2].CopyFromRecordset rs
End With
rs.Close
con.Close
Set con = Nothing: Set rs = Nothing
End Sub
PHP Kod:
Sub Aktar()
SQL = "TRANSFORM Count(F2) AS Say"
SQL = SQL & " SELECT F2"
SQL = SQL & " FROM [Sayfa1$]"
'SQL = SQL & " WHERE (((Month(F1)) = 8))"
SQL = SQL & " GROUP BY F2"
SQL = SQL & " PIVOT IIf([F1] Mod 7>1,'Hafta İçi','Hafta Sonu');"
Set RS = New ADODB.Recordset
Set CN = New ADODB.Connection
CN.ConnectionString = "provider=Microsoft.ACE.OLEDB.12.0;data source=" & ThisWorkbook.FullName & ";extended properties=""excel 8.0;hdr=no"""
CN.Open
RS.Open SQL, CN, 3, 1
Sheets("Toplam Liste").Range("A3").CopyFromRecordset RS
RS.Close
CN.Close
Set RS = Nothing
Set CN = Nothing
End Sub
Eğer Verilerin hepsi Sayfa1 de, A Sütunu-da tarih ve B sütunda nöbetçiler varsa.
Son Düzenleme: 19/07/2020, 20:42, Düzenleyen: alicimri.
Konuyu Okuyanlar: 1 Ziyaretçi