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

1 2 3
08/12/2016, 21:58

mbo69221088

(08/12/2016, 18:42)kadirdursun yazdı: Sayın ozanakkaya;

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

koddaki 11 ve 2 numarasını nerden buluyoruz?

11 karakterden itibaren 2 karakter aldırıyor ancak alınacak yeri daha tam ortaya çıkaramadım...
08/12/2016, 22:09

mbo69221088

Forma bir tuş ekleyip onun tıklandığında sekmesine aşağıdaki konutları ekledim;

bukodları da sizin https://accesstr.net/konu-webden-veri-alma--82267.html adresindeki örneğe bakarak yapmaya çalıştım ancak TAM olarak battım. Bir satırlık bilgiyi aktarmayı beceremedim....
09/12/2016, 02:14

ozanakkaya

Merhaba, önceki mesajımda size kullanmanız gereken kodu ve NO1 icin geçerli veriyi gösteren kodu ekledim. 

Eklediğiniz resimdeki kodu bu uygulamada çalıştıramazsınız. Çünkü web sayfasında tablo yok.

Formda bulunan butona aşağıdaki kodu ekleyiniz.

Dim GCekilisTarihi, GSonuclar As String
Dim GTarih As Object
Me.SIRANO = DMax("SIRANO", "SONUCLAR") + 1

For Each GTarih In Me.WebBrowser1.Document.getElementsByName("tarihList")
GCekilisTarihi = GTarih.Value
Next

Me.TARIH = Mid(GCekilisTarihi, 7, 2) & "." & Mid(GCekilisTarihi, 5, 2) & "." & Mid(GCekilisTarihi, 1, 4)

GSonuclar = Me.WebBrowser1.Document.getElementById("sayisal-numaralar").innerhtml

Me.NO1 = Mid(GSonuclar, 11, 2)
Me.NO2 = Mid(GSonuclar, 24, 2)
Me.NO3 = Mid(GSonuclar, 37, 2)
Me.NO4 = Mid(GSonuclar, 50, 2)
Me.NO5 = Mid(GSonuclar, 63, 2)
Me.NO6 = Mid(GSonuclar, 76, 2)


Ayrıca, form açıldığında webbrowserda oluşa javascript hatasını engellemek için de formun açıldığında olayındaki 


WebBrowser1.Navigate "http://www.millipiyango.gov.tr/sonuclar/_cs_sayisal.php"


kodunun altına aşağıdaki kodu eklemelisin.


Me.WebBrowser1.silent = True
09/12/2016, 03:34

mbo69221088

(09/12/2016, 02:14)ozanakkaya yazdı: Merhaba, önceki mesajımda size kullanmanız gereken kodu ve NO1 icin geçerli veriyi gösteren kodu ekledim. 

Eklediğiniz resimdeki kodu bu uygulamada çalıştıramazsınız. Çünkü web sayfasında tablo yok.

Formda bulunan butona aşağıdaki kodu ekleyiniz.

Dim GCekilisTarihi, GSonuclar As String
Dim GTarih As Object
Me.SIRANO = DMax("SIRANO", "SONUCLAR") + 1

For Each GTarih In Me.WebBrowser1.Document.getElementsByName("tarihList")
GCekilisTarihi = GTarih.Value
Next

Me.TARIH = Mid(GCekilisTarihi, 7, 2) & "." & Mid(GCekilisTarihi, 5, 2) & "." & Mid(GCekilisTarihi, 1, 4)

GSonuclar = Me.WebBrowser1.Document.getElementById("sayisal-numaralar").innerhtml

Me.NO1 = Mid(GSonuclar, 11, 2)
Me.NO2 = Mid(GSonuclar, 24, 2)
Me.NO3 = Mid(GSonuclar, 37, 2)
Me.NO4 = Mid(GSonuclar, 50, 2)
Me.NO5 = Mid(GSonuclar, 63, 2)
Me.NO6 = Mid(GSonuclar, 76, 2)


Ayrıca, form açıldığında webbrowserda oluşa javascript hatasını engellemek için de formun açıldığında olayındaki 


WebBrowser1.Navigate "http://www.millipiyango.gov.tr/sonuclar/_cs_sayisal.php"


kodunun altına aşağıdaki kodu eklemelisin.


Me.WebBrowser1.silent = True

Süpersin Hocam,
Yaptınız, uyguladım, Çalışıyor.....
Ancak sizi sıkmaz isem son soruyu soruyorum, ki önceki sayfada da sorulmuş, 11,24,37,50,63 ve 76 sayılarını nasıl bulduk? Bu son sorum söz.
09/12/2016, 06:19

ozanakkaya

Merhaba. Mid fonksiyonunun kullanımı aşağıdaki gibidir.

Mid(Karaktersel Bilgi, Başlama Yeri, Alınacak Karakter Sayısı)

Önceki mesajımda yazdığım kod ile div tagının id numarasına göre aşağıdaki veriyi alıyoruz.

<UL>
<LI>24</LI>
<LI>26</LI>
<LI>36</LI>
<LI>43</LI>
<LI>44</LI>
<LI>46</LI>
</UL>

Mid(veri, 11, 2) kodu ile 11. Karakterden başlayıp sonraki 2 karakteri alıyoruz. Bunun sonucunda sayısal loto sonucunun 1. Sayısı olan 24e ulaşıyoruz.

<ul><li> toplamı 8 karakter. ul ve li arasında 3 karakterlik boşluk kodu var. Bu yüzden 11 yazılı.

Sayısal lotonun 2. Sonucu olan 26 sayısında ulaşmak için alınan veride 13 karakter daha gitmek gerektiği için 24 yazılı.

Mid(veri,24,2)




Sonraki sonca kadar kod içerisinde 13er artırarak koda ekleme yapıldı.

Umarım anlaşılmıştır.
09/12/2016, 06:26

ozanakkaya

Üstte yazdığım metindeki 24 ler karıştırılmasın. İlk 24 sayısal lotonun 1. Sonucu, ikinci 24 ise 2. Sonuca ulaşmak için  sayılması gereken karakter sayısıdır.

Mid("ozanakkaya", 1, 4) kodu ozan sonucunu verir.
1 2 3