• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Sorgu yenilemeye açılışta makro yada bir çözüm

Katılım
25 Mart 2005
Mesajlar
66
Herkese hayırlı akşamlar dilerim.


Excel de yaptığım bir çalışma var.Kullanmış olduğumuz paket programdaki view lerden bilgi alıyorum.dış veri al ı kullanıyorum.ilk açılışta inputbox ile verinin alıncağı tarihi yazıyorum ve onu sayfadaki bir değişkene aktarıyorum oueryde hücreden tarihi alıp bilgileri getiriyor sorun şurda ben her seferinde dosyayı açtığımda SORGU YENİLEME diye bir ekran çıkıyor exceli bayağı bir kurcaladım ama yapamadım istediğim auto_open a koyabileceğim yada bu ekranı kaldıran bir yer varsa onu bulmak.Yardımlarınız için teşekkür ederim.

Ben her seferinde otomatik yenileyi etkinleştiriyorum ama tıs.kapat aç gene aynı bir anlam veremedim.
auto_open makrosuna Selection.QueryTable.Refresh BackgroundQuery:=False yazıyorum olmuyor.

excel 2003 tr.
 
selam,

Kullandığınız database MSSQL'mi?

Kolay gelsin.
 
Sn.Red lion evet mssql.

tarihleri bir hücreye bağladığımı söylemiştim.oueryde parametreler bölümünde de hücre bilgisi değişince otomatik güncellemeyi aktif hale getirdim.
 
http://www.excel.web.tr/viewtopic.php?t=5869

burada daha önce dış veri al olmadan mssqlden nasıl veri alınacağını anlatmıştım. Sadece command butona atamışım :( siz isterseniz command buton yerine aşağıdaki gibi yapabilirsiniz...

Kod:
Dim cnt As ADODB.Connection
Dim rst As ADODB.Recordset
Dim strConn As String, sorgu as string

sub auto_open()
Call sil

Set cnt = New ADODB.Connection
strConn = "PROVIDER=SQLOLEDB;"
strConn = strConn & "DATA SOURCE='buraya SQL SERVER YOLUNUZU YAZIN(IP si daha iyi olur) tırnakları kaldırın';INITIAL CATALOG='database adını buraya yazın';"
strConn = strConn & " INTEGRATED SECURITY=sspi;"
cnt.Open strConn
Set rst = New ADODB.Recordset
With rst
.ActiveConnection = cnt
sorgu = "select * from view'in_ismini_buraya yazın"
.Open sorgu
Sayfa2.Range("A2").CopyFromRecordset rst
.Close
End With
cnt.Close
Set rst = Nothing
Set cnt = Nothing
End Sub


Sub sil()
Dim say As Integer
say = Application.CountA(Sheets("sayfa1").Columns("A"))
For i = 1 To say
Sheets("sayfa2").Rows("1:" & i).Delete
Next i
End Sub 
end sub

umarım işinize yarar.
 
Sn.Red lion verdiğiniz bilgiler için teşekkür ederim.

Biraz karışık geldi.Ben daha tam anlamıyla makroları kod şeklinde yazmayı bile beceremezken bu biraz ağır gelir diye düşünüyorum ama yazmış olduunuz kodları alıcam.Biraz geliştirirsem kendimi deniyecem.

Çok teşekkür ederim.
 
Arkadaşlar benimde buna benzer bir sorunum var... Excel'in Dış Veri Al özelliğini kullanarak bir web sitesinden veri alıyorum. Ama açılışta herseferinde resimdeki gibi bir uyarı veriyor... Bu uyarıyı nasıl iptal ederiz. Yani program arka planda veriyi otomatik olarak alsın. Uyarı vermesin. tşk.

9649adsiz.JPG
 
Arkadaşlar lütfen yardımlarınızı bekliyorum... Help....
 
Haberiniz olsun ben hala bu işi çözemedim yardım edecek biri varsa bekliyorum... :)
 
Bu benimde takıldığım bir nokta, bilen arkadaşlardan bizi aydınlatmalarını rica ederiz.
 
Güzel bir konu, paylaşım için teşekkürler.
 
Geri
Üst