Web Sayfası Tablo almak

1 2
23/12/2010, 15:37

silka

İlk önce herkese selamlar,

TR class="QueryTitleTable"
table class="DataGrid" cellspacing="0" cellpadding="4" rules="all" border="1" id="KisiGrid" *****background-color:White;border-
span id="KisiGrid_ctl02_Label5" NAME="Label1">YAKINLIĞI</span>
span id="KisiGrid_ctl02_Label3" NAME="Label1">T.C. NO</span>
span id="KisiGrid_ctl02_Label2" NAME="Label1">ADI</span>
span id="KisiGrid_ctl02_Label4" NAME="Label1">SOYADI</span>
span id="KisiGrid_ctl02_Label6" NAME="Label1">DOĞUM TARİHİ</span>
class="DataGridAlternatingItem" .........
………… üstte yazılanların aynısı devam ediyor sadece ctl02 yerine ctl03,04,05,06…. Kaç veri varsa o tabloda o şekilde devam ediyor. Kişiyi sorguladığımda kaç veri geleceğini bilemediğim için metin kutusu ile işlemi yapamıyorum. O yüzden yukarıda yazılan kaynak kodlarına göre kişiyi sorguladığımda tabloyu tek tek yerine toplu şekilde tabloyu alabilmem mümkün mü? veya tabloyu alamazsam bile ilk veriyi aldıktan sonra kendisi otomatik olarak yeni bir satır açıp ikinci veriyi yazabilirmi?

Me.ADI.Value = WebBrowser1.Document.All("KisiGrid_ctl02_Label5").innerText bu kodu yazarak tek tek alıyorum.

Statik ip ile açılan bir Site olduğu için burda yayınlayamıyorum.

23/12/2010, 17:17

silka

konu ile ilgili daha kimse bakmadı galiba
24/12/2010, 01:38

ozanakkaya

sn silka,

Sayfa kaynağının tamamını gönderiniz. Veya sayfayı farklı kaydederek konuya ekleyiniz.
24/12/2010, 09:20

silka

sleadgab hocamın istediği kaynak kodlarını ekledim.
24/12/2010, 12:13

silka

(23/12/2010, 15:37)silka yazdı: İlk önce herkese selamlar,

TR class="QueryTitleTable"
table class="DataGrid" cellspacing="0" cellpadding="4" rules="all" border="1" id="KisiGrid" *****background-color:White;border-
span id="KisiGrid_ctl02_Label5" NAME="Label1">YAKINLIĞI</span>
span id="KisiGrid_ctl02_Label3" NAME="Label1">T.C. NO</span>
span id="KisiGrid_ctl02_Label2" NAME="Label1">ADI</span>
span id="KisiGrid_ctl02_Label4" NAME="Label1">SOYADI</span>
span id="KisiGrid_ctl02_Label6" NAME="Label1">DOĞUM TARİHİ</span>
class="DataGridAlternatingItem" .........
………… üstte yazılanların aynısı devam ediyor sadece ctl02 yerine ctl03,04,05,06…. Kaç veri varsa o tabloda o şekilde devam ediyor. Kişiyi sorguladığımda kaç veri geleceğini bilemediğim için metin kutusu ile işlemi yapamıyorum. O yüzden yukarıda yazılan kaynak kodlarına göre kişiyi sorguladığımda tabloyu tek tek yerine toplu şekilde tabloyu alabilmem mümkün mü? veya tabloyu alamazsam bile ilk veriyi aldıktan sonra kendisi otomatik olarak yeni bir satır açıp ikinci veriyi yazabilirmi?

Me.ADI.Value = WebBrowser1.Document.All("KisiGrid_ctl02_Label5").innerText bu kodu yazarak tek tek alıyorum.

Statik ip ile açılan bir Site olduğu için burda yayınlayamıyorum.

kaynak kodlarının tamamını ekledim.
25/12/2010, 00:52

ozanakkaya

Eklediğiniz kaynak kodları https://accesstr.net/sitegenel/webdeneme.htm adresine kaydedip form üzerine bu sayfayı çağırdım.

Siz koddaki

WebBrowser1.Navigate "https://accesstr.net/sitegenel/webdeneme.htm"
satırını kendi sayfanıza göre düzenleyiniz.

form açıldığında butona tıkladığınızda webbrowserdaki verileri tabloya aktarır. Kullanılan kod aşağıdadır.


Private Sub Komut7_Click()

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(11)
Set HTML_TableRows = MyTable.GetElementsByTagName("tr")
For Each MyRow In HTML_TableRows
X = X + 1
Next

SATIRSAYISI = (X - 1) / 1 '
ReDim Sorgu(5, SATIRSAYISI - 1)

X = 0
For X = 0 To SATIRSAYISI - 1

A = 1 + (1 * X) '
Sorgu(0, X) = MyTable.Rows(A).Cells(1).innerText
Sorgu(1, X) = MyTable.Rows(A).Cells(2).innerText
Sorgu(2, X) = MyTable.Rows(A).Cells(3).innerText
Sorgu(3, X) = MyTable.Rows(A).Cells(4).innerText
Sorgu(4, X) = MyTable.Rows(A).Cells(5).innerText
Sorgu(5, X) = MyTable.Rows(A).Cells(6).innerText

Next X

Dim rc As DAO.Recordset
Set rc = CurrentDb.OpenRecordset("Tablo1")

X = 0

For X = 0 To SATIRSAYISI - 1

rc.AddNew

rc![bsn] = Sorgu(0, X)
rc![yakinligi] = Sorgu(1, X)
rc![tcno] = Sorgu(2, X)
rc![adi] = Sorgu(3, X)
rc![soyadi] = Sorgu(4, X)
rc![dogumtarihi] = Sorgu(5, X)

rc.Update
Next X

Set rc = Nothing
Me![Tablo1 alt formu].Requery

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
1 2