D
Domac
Hi,
Query named "qdfProizvodiAnalitikaZadnje" is using function to define value
in a field ..
When I execute this query from code i get message "Undefined function
'FormatNumberAsString' in expression"!
Why ??
When I execute it whitin query designer everything works fine!
Here is part of code:
strSql = "SELECT qdfProizvodiAnalitikaZadnje.* " & _
"FROM qdfProizvodiAnalitikaZadnje " & _
"WHERE (((qdfProizvodiAnalitikaZadnje.VEZA)=" & VezaPodEntiteta &
"));"
Set rst = CurrentDb.OpenRecordset(strSql, dbOpenSnapshot)
Here is SQL of query that I mention above:
SELECT ProizvodiSifreRangovi.VEZA,
ProizvodiSifreRangovi.ENTITET,
ProizvodiSifreRangovi.OPIS,
ProizvodiSifreRangovi.START,
ProizvodiSifreRangovi.END,
IIf(IsNull([qdfProizvodiSifreZadnje]![UpisanoSifri]),"0",[qdfProizvodiSifreZadnje]![UpisanoSifri])
AS UpisanoSifri,
IIf(IsNull([qdfProizvodiSifreZadnje]![SlijedeciIndex]),[ProizvodiSifreRangovi]![START],[qdfProizvodiSifreZadnje]![SlijedeciIndex])
AS SlijedeciIndex,
[ProizvodiSifreRangovi]![ENTITET] & FormatNumberAsString([SlijedeciIndex])
AS SlijedecaSifra,
Switch([SlijedeciIndex]<[ProizvodiSifreRangovi]![START],"Ne",[SlijedeciIndex]>[ProizvodiSifreRangovi]![END],"Ne",[SlijedeciIndex]>=[ProizvodiSifreRangovi]![START]
And [SlijedeciIndex]<=[ProizvodiSifreRangovi]![END],"Da") AS UnutarRanga,
IIf([SlijedeciIndex]=([ProizvodiSifreRangovi]![START]+[UpisanoSifri]),"Da","Ne")
AS Konzistentan
FROM ProizvodiSifreRangovi LEFT JOIN qdfProizvodiSifreZadnje ON
ProizvodiSifreRangovi.VEZA = qdfProizvodiSifreZadnje.VEZA
GROUP BY ProizvodiSifreRangovi.VEZA, ProizvodiSifreRangovi.ENTITET,
ProizvodiSifreRangovi.OPIS, ProizvodiSifreRangovi.START,
ProizvodiSifreRangovi.END,
IIf(IsNull([qdfProizvodiSifreZadnje]![UpisanoSifri]),"0",[qdfProizvodiSifreZadnje]![UpisanoSifri]),
IIf(IsNull([qdfProizvodiSifreZadnje]![SlijedeciIndex]),[ProizvodiSifreRangovi]![START],[qdfProizvodiSifreZadnje]![SlijedeciIndex])
HAVING (((ProizvodiSifreRangovi.VEZA)<>0));
here is function FormatNumberAsString:
Public Function FormatNumberAsString(number As Long, Optional lenght As
Long) As String
'Po zadnjem pravilniku o ¹ifriranju
Dim lngLenght As Long
Dim strNumber As String 'Broj æe se konvertirati u string i ovisno o duljini
kreirati string popunjen nulama na glavi
Dim lngNumberLen As Long
Dim lngZeroAddendum As Long
'Provjeri bitno!
If IsMissing(lenght) Or lenght = 0 Then 'ako lenght nije upisan
'Po pravilniku o ¹ifriranju!
lngLenght = 5
Else
'Ako je poslan (izvanrednost)
lngLenght = lenght
End If
strNumber = CStr(number)
lngNumberLen = Len(strNumber)
'Razlika duljine opæenito minus duljine broja daje broj 0 koje se dodaju na
glavu stringa!
lngZeroAddendum = lngLenght - lngNumberLen
If lngZeroAddendum < 0 Then lngZeroAddendum = 0
FormatNumberAsString = String(lngZeroAddendum, "0") & strNumber
End Function
Query named "qdfProizvodiAnalitikaZadnje" is using function to define value
in a field ..
When I execute this query from code i get message "Undefined function
'FormatNumberAsString' in expression"!
Why ??
When I execute it whitin query designer everything works fine!
Here is part of code:
strSql = "SELECT qdfProizvodiAnalitikaZadnje.* " & _
"FROM qdfProizvodiAnalitikaZadnje " & _
"WHERE (((qdfProizvodiAnalitikaZadnje.VEZA)=" & VezaPodEntiteta &
"));"
Set rst = CurrentDb.OpenRecordset(strSql, dbOpenSnapshot)
Here is SQL of query that I mention above:
SELECT ProizvodiSifreRangovi.VEZA,
ProizvodiSifreRangovi.ENTITET,
ProizvodiSifreRangovi.OPIS,
ProizvodiSifreRangovi.START,
ProizvodiSifreRangovi.END,
IIf(IsNull([qdfProizvodiSifreZadnje]![UpisanoSifri]),"0",[qdfProizvodiSifreZadnje]![UpisanoSifri])
AS UpisanoSifri,
IIf(IsNull([qdfProizvodiSifreZadnje]![SlijedeciIndex]),[ProizvodiSifreRangovi]![START],[qdfProizvodiSifreZadnje]![SlijedeciIndex])
AS SlijedeciIndex,
[ProizvodiSifreRangovi]![ENTITET] & FormatNumberAsString([SlijedeciIndex])
AS SlijedecaSifra,
Switch([SlijedeciIndex]<[ProizvodiSifreRangovi]![START],"Ne",[SlijedeciIndex]>[ProizvodiSifreRangovi]![END],"Ne",[SlijedeciIndex]>=[ProizvodiSifreRangovi]![START]
And [SlijedeciIndex]<=[ProizvodiSifreRangovi]![END],"Da") AS UnutarRanga,
IIf([SlijedeciIndex]=([ProizvodiSifreRangovi]![START]+[UpisanoSifri]),"Da","Ne")
AS Konzistentan
FROM ProizvodiSifreRangovi LEFT JOIN qdfProizvodiSifreZadnje ON
ProizvodiSifreRangovi.VEZA = qdfProizvodiSifreZadnje.VEZA
GROUP BY ProizvodiSifreRangovi.VEZA, ProizvodiSifreRangovi.ENTITET,
ProizvodiSifreRangovi.OPIS, ProizvodiSifreRangovi.START,
ProizvodiSifreRangovi.END,
IIf(IsNull([qdfProizvodiSifreZadnje]![UpisanoSifri]),"0",[qdfProizvodiSifreZadnje]![UpisanoSifri]),
IIf(IsNull([qdfProizvodiSifreZadnje]![SlijedeciIndex]),[ProizvodiSifreRangovi]![START],[qdfProizvodiSifreZadnje]![SlijedeciIndex])
HAVING (((ProizvodiSifreRangovi.VEZA)<>0));
here is function FormatNumberAsString:
Public Function FormatNumberAsString(number As Long, Optional lenght As
Long) As String
'Po zadnjem pravilniku o ¹ifriranju
Dim lngLenght As Long
Dim strNumber As String 'Broj æe se konvertirati u string i ovisno o duljini
kreirati string popunjen nulama na glavi
Dim lngNumberLen As Long
Dim lngZeroAddendum As Long
'Provjeri bitno!
If IsMissing(lenght) Or lenght = 0 Then 'ako lenght nije upisan
'Po pravilniku o ¹ifriranju!
lngLenght = 5
Else
'Ako je poslan (izvanrednost)
lngLenght = lenght
End If
strNumber = CStr(number)
lngNumberLen = Len(strNumber)
'Razlika duljine opæenito minus duljine broja daje broj 0 koje se dodaju na
glavu stringa!
lngZeroAddendum = lngLenght - lngNumberLen
If lngZeroAddendum < 0 Then lngZeroAddendum = 0
FormatNumberAsString = String(lngZeroAddendum, "0") & strNumber
End Function