AccessTr.neT
Access Webbroser Üzerinden Tablo İçerisindeki Bilgiyi Almak - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html)
+--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Access Webbroser Üzerinden Tablo İçerisindeki Bilgiyi Almak (/konu-access-webbroser-uzerinden-tablo-icerisindeki-bilgiyi-almak.html)

Sayfalar: 1 2 3 4


Access Webbroser Üzerinden Tablo İçerisindeki Bilgiyi Almak - xoseng - 16/02/2020

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,


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

ile almak istedim, hata veriyor. Yardım edebilir misiniz.


Cvp: Access Webbroser Üzerinden Tablo İçerisindeki Bilgiyi Almak - ozanakkaya - 16/02/2020

İ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.


Cvp: Access Webbroser Üzerinden Tablo İçerisindeki Bilgiyi Almak - xoseng - 16/02/2020

(16/02/2020, 17:18)ozanakkaya yazdı: İ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


Cvp: Access Webbroser Üzerinden Tablo İçerisindeki Bilgiyi Almak - ozanakkaya - 17/02/2020

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.


Cvp: Access Webbroser Üzerinden Tablo İçerisindeki Bilgiyi Almak - xoseng - 17/02/2020

(17/02/2020, 00:00)ozanakkaya yazdı: 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.


Cvp: Access Webbroser Üzerinden Tablo İçerisindeki Bilgiyi Almak - xoseng - 17/02/2020

(17/02/2020, 08:27)xoseng yazdı:
(17/02/2020, 00:00)ozanakkaya yazdı: 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

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