miro35 |
16.04.2012 15:49 |
Predmet:Čitanje broja računa HCP
Imam ovu funkciju ali ne radi sa ovim mojim xml fajlom.Iz njega trebam da isčitam broj računa "RECEIPT_NUMBER"
PreuzmiIzvorni kôd (Text):Function Citaj()
On Error GoTo Citaj_Err
Dim temp As String
Dim Jedan_red As String
Dim Poz As String
Dim Poz1 As String
Dim RukaPo As String
Close #1
'Open ("" & DLookup("[Putanja]", "[Put]") & "\Rac" & [Forms]![Osnovna tabela Q VP1]![Datum] & " " & [Forms]![Osnovna tabela Q VP1]![Index] & ".inp") For Input As 1
Open ("C:\HCP\FROM_FP\Bill_State.xml") For Input As 1
While Not EOF(1)
Line Input #1, Jedan_red
temp = temp & Jedan_red & vbCrLf
Poz = InStr(1, temp, "RECEIPT_NUMBER=")
Poz1 = InStr(1, temp, "REFOUND_RECEIPT_NUMBER")
RukaPo = Mid(temp, Poz + 17, [Poz1] - [Poz] - 19)
Wend
Close #1
If Poz > 0 Then
MsgBox "Fiskalni broj racuna je: " & [RukaPo], vbCritical, "UPOZORENJE"
Else
MsgBox "UPSSS"
End If
Citaj_Exit:
Exit Function
Citaj_Err:
MsgBox Error$
Resume Citaj_Exit
End Function
Prilog xml fajl iz kojeg mi treba broj računa |
Prilozi: bill_state.rar (Velicina datoteke:305 Bajt)
|
roko |
16.04.2012 19:23 |
Predmet:Re: Čitanje broja računa HCP
ako ga čitaÅ¡ kao string trebaÅ¡ neÅ¡t tipa
If Left(Jedan_red, 14) = "<RECEIPT_STATE" Then
Poz = InStr(1, temp, "RECEIPT_NUMBER=")
Poz1 = InStr(1, temp, "REFOUND_RECEIPT_NUMBER")
RukaPo = Mid(temp, Poz + 17, [Poz1] - [Poz] - 19)
End If
Wend |
roko |
16.04.2012 19:39 |
Predmet:Re: Čitanje broja računa HCP
Re : Ispravka Čitanje broja računa HCP
While Not EOF(1)
On Error Resume Next
Dim SpliStr
Line Input #1, Jedan_red
temp = temp & Jedan_red & vbCrLf
If Left(Jedan_red, 14) = "<RECEIPT_STATE" Then
SpliStr = Split(Jedan_red, " ") '' SpliStr(3) : "RECEIPT_NUMBER='8'"
End If
Wend |
miro35 |
17.04.2012 12:55 |
Predmet:Re: Čitanje broja računa HCP
Ne radi ni jedna ni druga. Ova prva sad pokazuje poruku "Fiskalni broj racuna je:" i napiše prazno.Ja sam stavio u xml fajlu bill_state da je broj 8. |
roko |
17.04.2012 13:22 |
Predmet:Re: Čitanje broja računa HCP
kad ti projde petlju beoj ti je u SpliStr(3) : "RECEIPT_NUMBER='8'" |
miro35 |
18.04.2012 08:15 |
Predmet:Re: Čitanje broja računa HCP
Ovo splitstr(3) mi ne radi. |
zxz |
18.04.2012 10:55 |
Predmet:Re: Čitanje broja računa HCP
PreuzmiIzvorni kôd (Visual Basic):Const PutanjaR = "c:\_hcp\FROM_FP\Bill_State.xml"
Function Citaj()
Dim Temp As String
Dim Jedan_red As String
Dim Poz(1 To 3) As Integer
Dim RacunBr As String
Dim I As Integer
On Error GoTo Citaj_Err
Close #1
Open PutanjaR For Input As 1
For I = 1 To 4
Line Input #1, Jedan_red
Temp = Temp & Jedan_red
Next I
Poz(1) = InStr(1, Temp, "RECEIPT_NUMBER=")
Poz(2) = InStr(1, Temp, "REFOUND_RECEIPT_NUMBER=")
If Poz(1) > 0 And Poz(2) > 0 Then
Poz(1) = Poz(1) + 16
Poz(2) = Poz(2) - 2
Poz(3) = Poz(2) - Poz(1)
RacunBr = Mid(Temp, Poz(1), Poz(3))
MsgBox "Fiskalni broj racuna je: " & RacunBr, vbCritical, "UPOZORENJE"
Else
MsgBox "UPSSS"
End If
Close #1
Citaj_Exit:
Exit Function
Citaj_Err:
MsgBox Error$
Resume Citaj_Exit
End Function
|
Amelasar |
18.04.2012 11:23 |
Predmet:Re: Čitanje broja računa HCP
Za Reklamirani racun:
Const PutanjaR = "c:\hcp\FROM_FP\Bill_State.xml"
Function CitajRek()
Dim Temp As String
Dim Jedan_red As String
Dim Poz(1 To 3) As Integer
Dim RacunBr As String
Dim I As Integer
On Error GoTo Citaj_Err
Close #1
Open PutanjaR For Input As 1
For I = 1 To 4
Line Input #1, Jedan_red
Temp = Temp & Jedan_red
Next I
Poz(1) = InStr(1, Temp, "REFOUND_RECEIPT_NUMBER=")
Poz(2) = InStr(1, Temp, "RECEIPT_TO_REFUND=")
If Poz(1) > 0 And Poz(2) > 0 Then
Poz(1) = Poz(1) + 24
Poz(2) = Poz(2) - 2
Poz(3) = Poz(2) - Poz(1)
RacunBr = Mid(Temp, Poz(1), Poz(3))
MsgBox "Reklamirani broj racuna je: " & RacunBr, vbCritical, "UPOZORENJE"
Else
MsgBox "UPSSS"
End If
Close #1
Citaj_Exit:
Exit Function
Citaj_Err:
MsgBox Error$
Resume Citaj_Exit
End Function |
miro35 |
18.04.2012 11:36 |
Predmet:Re: Čitanje broja računa HCP
Hvala to je to |