Preluare date firme de pe net

Informatii despre cum se utilizeaza Microsoft Access 2007. Baze de date, Interogari, Formulare, Rapoarte, etc
Avatar utilizator
mesersmith
Mesaje: 2088
Membru din: Sâm Oct 23, 2010 6:44 am
Localitate: calarasi
Contact:

Re: Preluare date firme de pe net

Mesaj de mesersmith » Mie Noi 06, 2013 12:45 am

Păi nu e mare lucru.
Faci un modul cu un nume oarecare, iar la buton pui un macro care să apeleze modulul.
E simplu. Fac eu mâine un model și-l urc aici.

Avatar utilizator
mesersmith
Mesaje: 2088
Membru din: Sâm Oct 23, 2010 6:44 am
Localitate: calarasi
Contact:

Re: Preluare date firme de pe net

Mesaj de mesersmith » Mie Noi 06, 2013 1:18 am

Pana maine, l-am facut acum.
Uite si varianta cu modul separat.
Dar nu prea am inteles de ce e mai bine cu modul separat si nu cu codul in evenimentului butonului in form.

Cat priveste verificarea conexiunii la net, ai vreun exemplu de cod?
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

cvmircea
Moderator
Moderator
Mesaje: 403
Membru din: Lun Aug 03, 2009 7:25 pm
Localitate: Alba Iulia
Contact:

Re: Preluare date firme de pe net

Mesaj de cvmircea » Joi Noi 07, 2013 9:23 pm

Ma gindeam ca ar fi bine intr-un modul sa ii pasezi cif-ul si sa iti returneze datele firmei fara sa faci referire la cimpurile dintr-un form. Asa l-am putea folosi in mai multe formulare fara alte modificari. Eu il foloseam in trei formulare diferite iar acum a trebuit sa modific in fiecare formular in parte. Asta ii mai mult un moft decit o necesitate ca nu imi ia mult timp sa fac modificarile.
In legatura cu verificarea conexiunii la internet:

Cod: Selectaţi tot

Option Compare Database
Private Declare Function InternetGetConnectedStateEx Lib "wininet.dll" _
        (ByRef lpdwFlags As Long, ByVal lpszConnectionName As String, _
         ByVal dwNameLen As Integer, ByVal dwReserved As Long) As Long
Dim sConnType As String * 255

Private Sub Buton_Click()
On Error GoTo err
    Dim Ret As Long   
    Ret = InternetGetConnectedStateEx(Ret, sConnType, 254, 0)
    If Ret = 1 Then
   , ......
 Else
MsgBox "Nu este conexiune la internet!"
End If
End Sub

Avatar utilizator
mesersmith
Mesaje: 2088
Membru din: Sâm Oct 23, 2010 6:44 am
Localitate: calarasi
Contact:

Re: Preluare date firme de pe net

Mesaj de mesersmith » Joi Noi 07, 2013 9:26 pm

De extras datele dintr-un modul e simplu. Dar cum vrei sa i-l pasezi, daca nu printr-un textbox intr-un form oarecare?

cvmircea
Moderator
Moderator
Mesaje: 403
Membru din: Lun Aug 03, 2009 7:25 pm
Localitate: Alba Iulia
Contact:

Re: Preluare date firme de pe net

Mesaj de cvmircea » Sâm Feb 08, 2014 4:50 pm

Mesersmith iti mai merge aplicatia cu preluarea datelor firmei ? Nu am modificat nimic la aplicatia mea dar nu mai citeste j-ul iar eu nu pot vedea xml-ul in editorul VBA sa verific daca nu cumva s-a modificat structura xml-ului.

Avatar utilizator
mesersmith
Mesaje: 2088
Membru din: Sâm Oct 23, 2010 6:44 am
Localitate: calarasi
Contact:

Re: Preluare date firme de pe net

Mesaj de mesersmith » Sâm Feb 08, 2014 6:44 pm

Nu am mai folosit-o in ultimul timp ca nu am integrat-o in nicio baza pana acum.
Când ajung acasă o s-o verific.

Sent from my GT-N7100 using Tapatalk

Avatar utilizator
mesersmith
Mesaje: 2088
Membru din: Sâm Oct 23, 2010 6:44 am
Localitate: calarasi
Contact:

Re: Preluare date firme de pe net

Mesaj de mesersmith » Dum Feb 09, 2014 6:43 pm

Da, Mircea, asa este, nu mai merge. Presupun ca iar au schimbat aia ordinea in xml-ul ala.

Marin Zanfir
Mesaje: 88
Membru din: Vin Sep 04, 2009 7:45 am
Localitate: Slatina

Re: Preluare date firme de pe net

Mesaj de Marin Zanfir » Mie Feb 12, 2014 8:47 am

Incercati si aceasta varianta.

Cod: Selectaţi tot

Option Compare Database
Option Explicit

Type DateFirma
    NrInreg As String
    Denumire As String
    Localitate As String
    Adresa As String
    Judetul As String
End Type

Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" _
    (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, _
    ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long

Dim llRetVal As Long


Public Function DateANAF(ByVal CodFiscal As String) As DateFirma

    DateANAF.NrInreg = "LIPSA"
    DateANAF.Denumire = "LIPSA"
    DateANAF.Localitate = "LIPSA"
    DateANAF.Adresa = "LIPSA"
    DateANAF.Judetul = "LIPSA"
    
    On Error GoTo exit_func
    
    Dim xCodFiscal As String
    xCodFiscal = Replace(CodFiscal, "RO", "")
    xCodFiscal = Trim(Replace(xCodFiscal, "R", ""))
    
    Dim strURL As String
    Dim strFILE As String
    Dim strsource As String
    
    strURL = "http://www.openapi.ro/api/companies/" & xCodFiscal & ".xml"
    strFILE = CurrentProject.Path & "\Temp.txt"
    If Dir(strFILE, vbNormal) <> "" Then Kill strFILE
    llRetVal = URLDownloadToFile(0, strURL, strFILE, 0, 0)
    
    Dim fso As Object
    Dim fts As Object

    Set fso = CreateObject("Scripting.FileSystemObject")
    Set fts = fso.OpenTextFile(strFILE, 1)
    strsource = fts.ReadAll
    fts.Close
    Set fts = Nothing
    Set fso = Nothing
    
    If llRetVal = 0 Then
        DateANAF.NrInreg = ContinutANAF(strsource, "<registration-id>", "</registration-id>")
        DateANAF.Denumire = ContinutANAF(strsource, "<name>", "</name>")
        DateANAF.Localitate = ContinutANAF(strsource, "<city>", "</city>")
        DateANAF.Adresa = ContinutANAF(strsource, "<address>", "</address>")
        DateANAF.Judetul = ContinutANAF(strsource, "<state>", "</state>")
        Exit Function
    End If
exit_func:
    On Error Resume Next
End Function

Private Function ContinutANAF(ByRef strXML As String, ByVal StrStart As String, ByVal strStop As String) As String
    ContinutANAF = ""
    Dim pStart As Long, pStop As Long
    pStart = InStr(1, strXML, StrStart)
    If pStart = 0 Then Exit Function
    pStart = pStart
    pStop = InStr(pStart, strXML, strStop)
    If pStop = 0 Then Exit Function
    ContinutANAF = Replace(Mid(strXML, pStart, pStop - pStart), StrStart, "")
End Function

Public Sub Test()
    Dim df As DateFirma
    df = DateANAF("1234567")
    MsgBox df.Denumire
End Sub


cvmircea
Moderator
Moderator
Mesaje: 403
Membru din: Lun Aug 03, 2009 7:25 pm
Localitate: Alba Iulia
Contact:

Re: Preluare date firme de pe net

Mesaj de cvmircea » Joi Feb 13, 2014 11:25 pm

Mersi, este ceea ce am nevoie. Mai este o problema cu diacriticile, cu toate ca in fisierul xml de pe site literele Ă, Â, Î, Ș, Ț apar corect ,in fisierul temp.txt nu mai sunt.

Avatar utilizator
mesersmith
Mesaje: 2088
Membru din: Sâm Oct 23, 2010 6:44 am
Localitate: calarasi
Contact:

Re: Preluare date firme de pe net

Mesaj de mesersmith » Joi Feb 13, 2014 11:28 pm

Mircea, ai reusit sa duci rezultatele in textbox-uri? Ca m-am chinuit si eu putin si nu am reusit sa obtin decat un mesage box cu numele firmei.

Închis

Înapoi la “Intrebari despre Access 2007”