Skip to main content

AccessTr.neT


Access Webbroser Üzerinden Tablo İçerisindeki Bilgiyi Almak

Access Webbroser Üzerinden Tablo İçerisindeki Bilgiyi Almak

Çözüldü #1
Kod
</TD>
 <TD height="5"></TD>
 </TR>
 <TR>
 <TD height="5"></TD>
 <TD height="5" colSpan="3">
	 <TABLE *****Z-INDEX: 0" id="Table7" class="frmDis" border="0" cellSpacing="0" cellPadding="2"
width="700" align="center">
	<TR>
<TD class="frmBaslik">&nbsp;Özür Durumları</TD>
 </TR>
 <TR>
 <TD height="10">
 <TABLE id="Table8" class="frmDis" cellSpacing="0" borderColor="#000000" cellPadding="1"
 width="100%" align="center">
 <TR>
<TD align="center">
 <DIV align="center">
 <span id="lblListeSonuc" class="frmIc" *****font-weight:bold;"></span></DIV>
 <DIV align="right">																<span id="lblKayitSayisi" class="frmIc" *****color:Red;"></span></DIV>															<table class="frmList" cellspacing="0" cellpadding="1" rules="all" id="dgListe" *****border-color:#CCCCCC;border-width:1px;border-style:solid;width:100%;border-collapse:collapse;">
	<tr>
<td class="frmListBaslik" align="center">Adı</td><td class="frmListBaslik" align="center">Soyadı</td><td class="frmListBaslik" align="center">Özür Durumu</td>
	</tr><tr>
<td align="left">Ahmet</td><td align="left">SERT KABASAKAL</td><td align="left">Hafif Düzeyde Zihinsel Yetersizlik</td>
	</tr>
</table></TD>
Access form içersindeki Webbrowser da açılan web sayfasından tablo içerisinde kod içerisinde görüldüğü gibi, Ahmet SERT KABASAKAL a ait Özür durumunu "Hafif Düzeyde Zihinsel Yetersizlik" almak için,


Visual Basic Code
Me.Ozur_durumu = WebBrowser.Document.getElementById("lblListeSonuc").getElementsByTable("value")

ile almak istedim, hata veriyor. Yardım edebilir misiniz.
İyilik yap!
                  İyilik bul!
Son Düzenleme: 16/02/2020, 16:40, Düzenleyen: xoseng.
Cevapla
#2
İnternetten Webbrowser ile Veri Almak bağlantısındaki konuyu inceleyiniz. Tablodan veri alma ile ilgili örnek kod konu içerisinde örnek ile birlikte mevcut.
"Boş Örnek Eklerim, Yapıp Verirler" demeyin, örneğinizi hazırlayın.
Komplike kod talebiniz var ise İletişim bağlantısından bize ulaşın. 
Cebelleşmezsen Öğrenemezsin. 
Cevapla
#3
(16/02/2020 17:18)ozanakkaya Adlı Kullanıcıdan Alıntı: İnternetten Webbrowser ile Veri Almak bağlantısındaki konuyu inceleyiniz. Tablodan veri alma ile ilgili örnek kod konu içerisinde örnek ile birlikte mevcut.
kodu uyarlamadım, kod mantığını anlamadım için, 

For X = 0 To satırsayısı - 1
            A = 4 + (1 * X) 'üst boşluk
            Sorgu(0, X) = MyTable.Rows(A).Cells(0).innerText
            Sorgu(1, X) = MyTable.Rows(A).Cells(1).innerText
            Sorgu(2, X) = MyTable.Rows(A).Cells(2).innerText
kalıyor
İyilik yap!
                  İyilik bul!
Cevapla
#4
For x kısmı döngüdür. for x = 0 olduğundan web sayfasındaki tablodaki satır sayısının bir eksiğini ifade eder.

A, web sayfasındaki tabloda, kaçıncı satırdan başlanacağını ifade eder

Sorgu(0,X) = MyTable.Rows(A).Cells(0).innerText, web sayfasındaki tablodaki verilerin, Access tablosuna aktarılması. Sizin uygulamanızda bir kişinin birden fazla özür durumu olabilir mi bilmiyorum. Ayrıca web sayfasındaki kaynak koduda bilmediğim için fikir beyan edemiyorum. Siz kullanıcı giriş yaparak sayfa içeriğini görebiliyorsunuz. Benim kullanıcı adım ve şifrem yok.
"Boş Örnek Eklerim, Yapıp Verirler" demeyin, örneğinizi hazırlayın.
Komplike kod talebiniz var ise İletişim bağlantısından bize ulaşın. 
Cebelleşmezsen Öğrenemezsin. 
Cevapla
#5
(17/02/2020 00:00)ozanakkaya Adlı Kullanıcıdan Alıntı: For x kısmı döngüdür. for x = 0 olduğundan web sayfasındaki tablodaki satır sayısının bir eksiğini ifade eder.

A, web sayfasındaki tabloda, kaçıncı satırdan başlanacağını ifade eder

Sorgu(0,X) = MyTable.Rows(A).Cells(0).innerText, web sayfasındaki tablodaki verilerin, Access tablosuna aktarılması. Sizin uygulamanızda bir kişinin birden fazla özür durumu olabilir mi bilmiyorum. Ayrıca web sayfasındaki kaynak koduda bilmediğim için fikir beyan edemiyorum. Siz kullanıcı giriş yaparak sayfa içeriğini görebiliyorsunuz. Benim kullanıcı adım ve şifrem yok.
Bu bilgiler ışığında işlemi yaptım, oluyor. Teşekkür ederim. Mantığını anladım sanırım. Sağ olun.
İyilik yap!
                  İyilik bul!
Cevapla
#6
(17/02/2020 08:27)xoseng Adlı Kullanıcıdan Alıntı:
(17/02/2020 00:00)ozanakkaya Adlı Kullanıcıdan Alıntı: For x kısmı döngüdür. for x = 0 olduğundan web sayfasındaki tablodaki satır sayısının bir eksiğini ifade eder.

A, web sayfasındaki tabloda, kaçıncı satırdan başlanacağını ifade eder

Sorgu(0,X) = MyTable.Rows(A).Cells(0).innerText, web sayfasındaki tablodaki verilerin, Access tablosuna aktarılması. Sizin uygulamanızda bir kişinin birden fazla özür durumu olabilir mi bilmiyorum. Ayrıca web sayfasındaki kaynak koduda bilmediğim için fikir beyan edemiyorum. Siz kullanıcı giriş yaparak sayfa içeriğini görebiliyorsunuz. Benim kullanıcı adım ve şifrem yok.
Bu bilgiler ışığında işlemi yaptım, oluyor. Teşekkür ederim. Mantığını anladım sanırım. Sağ olun.
Erken sevinmişim, hatalar oldu.
Öğrenci özür bilgisi sadece 1 satır olacak.kod ta sıradadi öğrenciye geçmeyecek, sadece ilgili öğrenci için bir satır bilgi okuyacak şekilde nasıl ayarlayabilirim.
yazdığım hatalı kod

Visual Basic Code
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, Satir As Integer
        
        Set HTML_Body = Me.WebBrowser.Document.All
        Set HTML_Tables = HTML_Body.tags("Table")
        Set MyTable = HTML_Tables(Satir)
        
        Set HTML_TableRows = MyTable.getElementsByTagName("tr")
        For Each MyRow In HTML_TableRows
            X = X + 1
        Next
        SATIRSAYISI = (X - 2) / 1
        
        ReDim Sorgu(12, SATIRSAYISI - 1)
        
        X = 0
        For X = 0 To SATIRSAYISI - 1
            A = 0 + (1 * X) 'üst boşluk
                                 
            Sorgu(0, X) = MyTable.Rows(A).Cells(0).innerText
            Sorgu(1, X) = MyTable.Rows(A).Cells(1).innerText
            Sorgu(2, X) = MyTable.Rows(A).Cells(2).innerText
            Sorgu(3, X) = MyTable.Rows(A).Cells(3).innerText
         Next X

    Dim rc As DAO.Recordset
    Set rc = CurrentDb.OpenRecordset("Tablo8")
    
    X = 0
    
    For X = 0 To SATIRSAYISI - 1
    
        rc.AddNew
            rc![Ozurdurumu] = Sorgu(0, X)
            rc![Ozurdurumu] = Sorgu(1, X)
            rc![Ozurdurumu] = Sorgu(2, X)
            rc![Ozurdurumu] = Sorgu(3, X)
        rc.Update
    Next X
fazla satır mı ekledim acaba
İyilik yap!
                  İyilik bul!
Son Düzenleme: 17/02/2020, 10:50, Düzenleyen: xoseng.
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da