Preluare date firme de pe net
- mesersmith
- Mesaje: 2088
- Membru din: Sâm Oct 23, 2010 6:44 am
- Localitate: calarasi
- Contact:
Re: Preluare date firme de pe net
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.
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.
- mesersmith
- Mesaje: 2088
- Membru din: Sâm Oct 23, 2010 6:44 am
- Localitate: calarasi
- Contact:
Re: Preluare date firme de pe net
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?
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.
Re: Preluare date firme de pe net
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:
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
- mesersmith
- Mesaje: 2088
- Membru din: Sâm Oct 23, 2010 6:44 am
- Localitate: calarasi
- Contact:
Re: Preluare date firme de pe net
De extras datele dintr-un modul e simplu. Dar cum vrei sa i-l pasezi, daca nu printr-un textbox intr-un form oarecare?
Re: Preluare date firme de pe net
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.
- mesersmith
- Mesaje: 2088
- Membru din: Sâm Oct 23, 2010 6:44 am
- Localitate: calarasi
- Contact:
Re: Preluare date firme de pe net
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
Când ajung acasă o s-o verific.
Sent from my GT-N7100 using Tapatalk
- mesersmith
- Mesaje: 2088
- Membru din: Sâm Oct 23, 2010 6:44 am
- Localitate: calarasi
- Contact:
Re: Preluare date firme de pe net
Da, Mircea, asa este, nu mai merge. Presupun ca iar au schimbat aia ordinea in xml-ul ala.
-
- Mesaje: 88
- Membru din: Vin Sep 04, 2009 7:45 am
- Localitate: Slatina
Re: Preluare date firme de pe net
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
Re: Preluare date firme de pe net
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.
- mesersmith
- Mesaje: 2088
- Membru din: Sâm Oct 23, 2010 6:44 am
- Localitate: calarasi
- Contact:
Re: Preluare date firme de pe net
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.