Affınıza sığınarak bu soruyu soruyorum;
Milli Piyango'nun Sayısal Loto sonuçlarını veritabanımın form ekranında görebiliyorum, ancak eklemeyle ilgi ne yaptımsa ekrandaki bilgiyi tablolara eklemeyi beceremedim. Belki benim izlediğim yolda bir sorun var belki de PHP uzantılı web sayfasından data çekmeyi bilemediğimden. Bana bu konuda yardımcı olursanız sevinirim.
Not: Webden data/veri çekmeyle ilgili forumda arama yaptım örnek Veritabanlarını indirdim ancak verinin alındığı Web sayfaları ya değişmiş, yada kullanımdan kalkmış, yani örneklerdeki (örnek:Webden Veri Alma_sled_son.mdb) bazı vebsayfaları özel korumada veya adresler değişmiş. web sayfasından veri çekmenin detaylarını öğrenmek istiyorum.
Saygılarımla,
sevgilerimle,
Selamlarımla.
Merhaba. Veriler web sayfasındaki yerleşimlerine göre veya elementlerin id veya class isimlerine göre alınıyor.
Ancak zaman zaman bu yerleşimlerde ve isimlerde değişiklik yapıldığı için önceki kodlar çalışmıyor.
Webbrowser ile ilgili eski konulardaki veri aktaramama sebabi budur. Örneğinizi inceliyorum.
(07/12/2016, 18:03)ozanakkaya yazdı: Merhaba. Veriler web sayfasındaki yerleşimlerine göre veya elementlerin id veya class isimlerine göre alınıyor.
Ancak zaman zaman bu yerleşimlerde ve isimlerde değişiklik yapıldığı için önceki kodlar çalışmıyor.
Webbrowser ile ilgili eski konulardaki veri aktaramama sebabi budur. Örneğinizi inceliyorum.
Sayın @
ozanakkaya Hocam;
bu durumda aşağıda verdiğim resimdeki veriler ışında, div:cekilis veya id: sayisal-numaralar kullanılacak öyle mi? Doğru anlamış mıyım?
Merhaba,
Doğru anlamışsınız. Verilerin konumu aşağıdaki gibi.
PHP Kod:
<div class="cekilis" id="sayisal-numaralar">
<ul>
<li>13</li>
<li>28</li>
<li>36</li>
<li>39</li>
<li>41</li>
<li>47</li>
</ul>
</div>
bu veriye ulaşmak için
Me.WebBrowser1.Document.getElementById("sayisal-numaralar").innerhtml
kodunu kullanmalısın
bunun sonucu,
Kod:
<UL>
<LI>24</LI>
<LI>26</LI>
<LI>36</LI>
<LI>43</LI>
<LI>44</LI>
<LI>46</LI></UL>
şeklindedir.
Bu verileri metin kutularına aktarmak için, mesela 24 verisi için aşağıdaki kodu kullanmalısın
Me.NO1 = Mid(Me.WebBrowser1.Document.getElementById("sayisal-numaralar").innerhtml, 11, 2)
Tarih olayı biraz karışık,
tarihin bulunduğu select elementinin adı "tarihList" olduğu için,
Dim GCekilisTarihi As String
Dim GTarih As Object
For Each GTarih In Me.WebBrowser1.Document.getElementsByName("tarihList")
GCekilisTarihi = GTarih.Value
Next
Şeklinde kod kullanmalısın, bu "20161203" şeklinde veri yansıtır. Bunu TARIH alanına eklemek için üstteki kodun altına
Me.TARIH = Mid(GCekilisTarihi, 7, 2) & "." & Mid(GCekilisTarihi, 5, 2) & "." & Mid(GCekilisTarihi, 1, 4)
Şeklinde kod eklemelisin
(07/12/2016, 21:56)ozanakkaya yazdı: Merhaba,
Doğru anlamışsınız. Verilerin konumu aşağıdaki gibi.
PHP Kod:
<div class="cekilis" id="sayisal-numaralar">
<ul>
<li>13</li>
<li>28</li>
<li>36</li>
<li>39</li>
<li>41</li>
<li>47</li>
</ul>
</div>
bu veriye ulaşmak için
Me.WebBrowser1.Document.getElementById("sayisal-numaralar").innerhtml
Sayın @
ozanakkaya
yukarıda verdiğiniz bu kodu nereye ekleyeceğim yada yazacağım onu anlamadım. Tekrar kusuruma bakmayın bazı konularda yetersizim anlaşılan. Kullandığım kitap John Viescas ın "
Microsoft Access 2000 İle Çalışmak"
Sayın ozanakkaya;
Me.NO1 = Mid(Me.WebBrowser1.Document.getElementById("sayisal-numaralar").innerhtml, 11, 2)
koddaki 11 ve 2 numarasını nerden buluyoruz?