Hej! Om jag bara vill komma åt siffran 1 eller fler inom paranteserna på Hej, nu skall vi se. Du hade en tab-separerad fil. Alltså kan du använda split-kommandot för att separera upp dina värden:Problem med Stränghantering
Kollektivanställd (k01) (det kan även vara två siffror ex. (k23)) från en tabseparerad textfil och som ska läsas in i access, nån som har en idé?
Har en for loop som som letar reda på tabtecknen men jag vet inte hur jag ska lösa
det här problemet med siffran?
<code>
Dim spPos As Integer 'position för separator i inläst rad
sp = Chr(9) '=tabtecken
For i = 0 To 13 '14 fält i filen
'
spPos = InStr(1, rad, sp) 'ta reda på position för nästa avskiljare
'
If i <> 13 Then
flt = Left(rad, spPos - 1) 'ta ut 1:a fältet
Else
flt = Left(rad, 1)
End If
'
rad = Mid(rad, spPos + 1) 'Ta bort 1:a fältet från raden
If i = 10 Or i = 12 Or i = 13 Then
tabell.Fields(i).Value = Val(flt) 'Numeriska data
Else
If Trim(flt) > "" Then
tabell.Fields(i).Value = Trim(flt) 'Textvärden
Else
tabell.Fields(i).Value = "-" 'Sätter in "-" i tomma poster
End If
End If
Next i
</code>Sv: Problem med Stränghantering
<code>
minArray = Split(rad, vbTab)
For A = 0 To Ubound(minArray)
Debug.Print minArray(A)
Next
</code>
Detta är det snabbaste sättet. Om du nu skall addera dessa fält till din tabell så kan du göra enligt följande exempel:
<code>
minArray = Split(rad, vbTab)
For i = 0 To Ubound(minArray)
tabell.Fields(i).Value minArray(i)
Next
</code>