Skip to main content

AccessTr.neT


İnternette Tablodan Webbrowser ile Veri Almak

ondercesmeci
ondercesmeci
7
8106

İnternette Tablodan Webbrowser ile Veri Almak

Çözüldü #1
Merhaba Arkadaşlar,
size gönderdiğim kaynak kodsayfasındaki verileri almak için aşağıdaki kodları kullanmaya çalışıyorum. bundan önceki versiyonda aşağıdaki kodlar ile alabiliyordum. fakat ;
1.Şimdi bir türlü almayı başaramadım. verilerin item, rows ve cells sayısını bir türlü bulamadım.
2.satır sayısını otomatik tespit edemediğim için oraya "say" metin kutusu yerleştirdim böylece satırsayısını el ile kontrol etmeye çalıştım.
3.ikinci sayfadaki verilerin item, rows ve cells sayısınıda bulamadığım için ikinci sayfayı el ile girmek zorunda kalıyordum.

ilginize ve bilginize şimdiden teşekkür ediyorum...

Private Sub Komut22_Click()
On Error Resume Next
If Me.ciftci >= 1 Then
If Me.dur >= 1 Then
Me.say = 6
Call aktar
Else
MsgBox "Lütfen Hayvan Sayısını Giriniz!!! "
End If
Else
MsgBox "Lütfen Önce Aktarmak İstediğiniz Çiftçiyi Seçin!!! "
End If

End Sub
Private Sub aktar()
On Error Resume Next
Dim IE As Object
Set IE = Me.WebBrowser1

Dim k As Integer
Dim c As Integer
c = Me.dur + 6
k = Me.say

If k < c Then
Me.hyvkupeno = IE.Document.All.tags("table").Item(3).Rows(k).Cells(1).innerText
Me.hyvdogumtarihi = IE.Document.All.tags("table").Item(3).Rows(k).Cells(2).innerText
Me.irk = IE.Document.All.tags("table").Item(3).Rows(k).Cells(6).innerText
Me.cinsiyet = IE.Document.All.tags("table").Item(3).Rows(k).Cells(3).innerText
If Me.tarih < 6 Then ("tarih"=(bugün-hayvanın doğum tarihi)/30)
Me.yas = "Buzağı"
End If
If Me.tarih >= 6 And Me.tarih <= 12 Then
Me.yas = "Dana"
End If
If Me.tarih > 12 Then
Me.yas = "Sığır"
End If
Me.yas.Requery
Me.hyvhesap = Me.yas.Column(1)
Me.kisiid = Forms![frmsorgula]![kisiid]
Me.personel = Forms![frmsorgula]![personel]
Me.hyvtarih = Date
Me.cins = Me.yas.Column(4)
Me.say = Me.say + 1
Call Komut20_Click
Call tekrar
End If

End Sub

Private Sub tekrar()
Call aktar
End Sub
.txt soru.txt (Dosya Boyutu: 59,63 KB | İndirme Sayısı: 23)
ondercesmeci, 15-06-2010 tarihinden beri AccessTr.neT Ãœyesidir.
Cevapla
Çözüldü #2
Formun açıldığında olayındaki kodda yazılı olan

WebBrowser1.Navigate "https://accesstr.net/sitegenel/isletmedekihayvanlistesi.html"

satırındaki web sitesi linkini veri aldığınız web sitesi linkine göre düzenle.


Eğer farklı satır sayılı sayfalarda problem çıkarıyorsa 1-34, 35-53 yerine farklı satır sayılı web sayfasının kaynak kodunu ekle.
.rar isletmedekihayvanlistesi.rar (Dosya Boyutu: 21,04 KB | İndirme Sayısı: 62)
Cevapla
Çözüldü #3
Alıntı:Eğer farklı satır sayılı sayfalarda problem çıkarıyorsa 1-34, 35-53 yerine farklı satır sayılı web sayfasının kaynak kodunu ekle.
Hocam konuyu biraz daha açıklarmısınız. Sitenin kaynak kodu hangisi oluyor.
Ayrıca 2. sayfa olmayan sayfalarda hata veriyor. Bana ister 1 ister 2 yada 3 sayfa olsun toplam satır sayısını bildiren bir kod söyleyebilirmisiniz.
teşekkürler.
ondercesmeci, 15-06-2010 tarihinden beri AccessTr.neT Ãœyesidir.
Son Düzenleme: 17/02/2011, 16:00, Düzenleyen: ondercesmeci.
Cevapla
Çözüldü #4
Kaynak kodu, 1. mesaja eklediğin soru.txt.

1 sayfa olan, 2 sayfa olan ve 3 sayfa olan sayfaların kaynak kodunu ekle veya sayfanın linkini yaz.
Cevapla
Çözüldü #5
Hocam teşekkürler. Şu anda 4 sayfada olsa verileri netten alabiliyorum.
verdiğiniz kodlar ile sayfalardaki satır sayılarını da alabiliyorum. Fakat rapor 1 sayfa olduğu zaman satır sayısını eksik veriyor ve ikinci sayfada kodun üzerine yazdığım yer hata veriyor.
Private Sub say2()
'On Error Resume Next

Dim IE As Object
Dim HTML_Body As Object, HTML_Tables As Object, MyTable As Object
Dim HTML_TableRows As Object
Dim RetVal As Variant, X, A As Integer, SATIRSAYISI As Integer

Set IE = Me.WebBrowser1
Set HTML_Body = IE.Document.All
Set HTML_Tables = HTML_Body.tags("Table")
Set MyTable = HTML_Tables(9)

Set HTML_TableRows = MyTable.GetElementsByTagName("DIV") "HATA BURADA"
For Each MyRow In HTML_TableRows
X = X + 1
Next
SATIRSAYISI = ((X - 1) / 6) - 3
Me![sayfa2] = SATIRSAYISI

GoTo SafeExit:
'ErrHandler:
SafeExit:
Set HTML_Body = Nothing
Set HTML_Tables = Nothing
Set MyTable = Nothing
Set HTML_TableRows = Nothing
Set HTML_TableDivisions = Nothing
Set IE = Nothing

End Sub
bunu eğer 2. sayfa var ise şeklinde bir döngüyle falan çözebilirmiyiz. ve satır sayısı tek sayfada veya çift sayfada neden farklı oluyor anlayamadım.tek sayfalık raporun kaynak kodunu da 1. örneği bölerek düzenleyip gönderiyorum. teşekkürler.
.txt soru2.txt (Dosya Boyutu: 42,44 KB | İndirme Sayısı: 17)
ondercesmeci, 15-06-2010 tarihinden beri AccessTr.neT Ãœyesidir.
Cevapla
Çözüldü #6
ekteki uygulamayı incele.
.rar isletmedekihayvanlistesi_2_sled.rar (Dosya Boyutu: 22,04 KB | İndirme Sayısı: 96)
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task