Webden Veri Alma, Veri Tabanına Ekleme....

1 2 3
07/12/2016, 05:12

mbo69221088

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.
07/12/2016, 18:03

ozanakkaya

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, 19:09

mbo69221088

(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?


07/12/2016, 21:56

ozanakkaya

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
08/12/2016, 16:47

mbo69221088

(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"

08/12/2016, 18:42

kadirdursun

Sayın ozanakkaya;

Me.NO1 = Mid(Me.WebBrowser1.Document.getElementById("sayisal-numaralar").innerhtml, 11, 2)

koddaki 11 ve 2 numarasını nerden buluyoruz?
1 2 3