Excel Dış veri Makro Yardım

Katılım
10 Şubat 2007
Mesajlar
39
Excel Vers. ve Dili
Türkce
Arkadaşlar SQL den dış veri çekiyorum manuel olarak
ama bu yazılı olan makroda tarih kısmı sabit ama
Ben makroyu çalıştırdığım zaman bena hangi tarihler arasında çekmememi sorsun ve girdiğim tarih aralığındaki veriyi çekmesini istiyorum.

Yardımlarınız için şimdiden teşekkürler.

Sub Makro1()
'
' Makro1 Makro
' Makro tarafından 10.02.2007 tarihinde kaydedildi.
'

'
With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DRIVER=SQL Server;SERVER=BARKOD;UID=depo;APP=Microsoft® Query;WSID=DEPO;Trusted_Connection=Yes" _
, Destination:=Range("A1"))
.CommandText = Array( _
"SELECT kupbarkod1.kalemkod, kupbarkod1.K_Tar, kupbarkod1.TopID" & Chr(13) & "" & Chr(10) & "FROM kayitDb.dbo.kupbarkod1 kupbarkod1" & Chr(13) & "" & Chr(10) & "WHERE (kupbarkod1.K_Tar>={ts '2007-02-07 00:00:00'} And kupbarkod1.K_Tar<{ts '2007-02-08 00:00" _
, ":00'})")
.Name = "Rapor Al kaynağından sorgula"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
End Sub
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,273
Excel Vers. ve Dili
Office 2019 (64 bit) - Türkçe
Merhaba,
Bunun için form kullanmanız ya da hücre adresi belirlemeniz gerekecek.
Form kullanacağınızı varsayarak, Formunuza 2 ad. textboxbox ve buton ekleyin.
textbox1'e ilk tarih ve textbox2'ye de son tarih belirleyin.
Mesajınızdaki makronuzda "WHERE" ile başlayan kısmı aşağıdaki satırla
değiştirip, formdaki butona bağlayabilirsiniz.
Kod:
WHERE kupbarkod1.K_Tar Between Clng(Cdate(Textbox1)) And Clng(Cdate(Textbox2))
 
Katılım
10 Şubat 2007
Mesajlar
39
Excel Vers. ve Dili
Türkce
Merhaba,
Bunun için form kullanmanız ya da hücre adresi belirlemeniz gerekecek.
Form kullanacağınızı varsayarak, Formunuza 2 ad. textboxbox ve buton ekleyin.
textbox1'e ilk tarih ve textbox2'ye de son tarih belirleyin.
Mesajınızdaki makronuzda "WHERE" ile başlayan kısmı aşağıdaki satırla
değiştirip, formdaki butona bağlayabilirsiniz.
Kod:
WHERE kupbarkod1.K_Tar Between Clng(Cdate(Textbox1)) And Clng(Cdate(Textbox2))
hocam textbox örneğini yazabilirmisin nasıl yapabilirim teşekkürler.
 
Katılım
10 Şubat 2007
Mesajlar
39
Excel Vers. ve Dili
Türkce
Hocam bu &#351;ekilde &#231;al&#305;&#351;yor ama textbox da veridi&#287;m tarih aral&#305;&#287;&#305;n&#305;
mesala 06.02.2007 ve 07.02.2007 yaz&#305;yorum ama bana
08.02.2007 nin verilerini veriyor.

birde biz burdan hi&#231; textbox olu&#351;turmadan makroyu &#231;al&#305;&#351;t&#305;rd&#305;&#287;&#305;mda bana otomatik bir ekran gelib girece&#287;im tarih aral&#305;&#287;&#305;n&#305; sorsun ve verileri als&#305;n
bu m&#252;mk&#252;nm&#252;.
Te&#351;ekk&#252;rler.



Private Sub CommandButton1_Click()

With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DRIVER=SQL Server;SERVER=BARKOD;UID=depo;APP=Microsoft&#174; Query;" & _
"WSID=DEPO;Trusted_Connection=Yes", Destination:=Range("A1"))

.CommandText = "SELECT kupbarkod1.kalemkod, kupbarkod1.K_Tar, kupbarkod1.TopID " & _
"FROM kayitDb.dbo.kupbarkod1 kupbarkod1 " & _
"WHERE kupbarkod1.K_Tar Between " & CLng(CDate(TextBox1)) & _
" And " & CLng(CDate(TextBox2)) & ""

.Name = "Rapor Al kayna&#287;&#305;ndan sorgula"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With

End Sub

Private Sub Label1_Click()

End Sub

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox1 = Format(TextBox1, "yyyy.mm.dd")
End Sub

Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox2 = Format(TextBox2, "yyyy.mm.dd")
End Sub

Private Sub UserForm_Click()

End Sub
 
Üst