Bardzo często przy imporcie czy linkowaniu plików txt w Accessie mamy problem z niepolskimi separatorami w kwotach np 1,000.00. Z niewiadomych przyczyn Excel ma narzędzie do prawidłowego rozpoznawania separatora tysięcy a Access nie. Stąd w Accessie musimy w specyfikacji importu/łącza ustawić taką kolumnę jako tekstową a następnie przerobić w niej separatory np przy pomocy poniższej funkcji (powinna być wgrana do modułu publicznego aby można jej używać w dowolnej kwerendzie):
Function KwotaUSA2PL(KwotaUSA As String) As Currency Dim NrZnaku As Long Dim Znak As String Dim t As String Dim txtKwota As String t = Trim(KwotaUSA) For NrZnaku = 1 To Len(t) Znak = Mid(t, NrZnaku, 1) If Znak = "." Then txtKwota = txtKwota & "," Else If Znak <> "," Then txtKwota = txtKwota & Znak End If End If Next KwotaUSA2PL = CCur(txtKwota) End Function |
W komentarzach pojawiła się ciekawa dyskusja, jak tą funkcję zastąpić wyrażeniem z użyciem funkcji Replace