Splitting variables with a comma error with slashes

G

gwoodby

here is the code i was using to split the variable, however
the information is put together like this :

FirstName,Lastname,Mother:1,Mychild,10/12/2007 ,10/11/2007


now the problem im having is when it gets to the date, it doesnt
return the date so TxtServed and TxtIssued are still blank

vntX = Split(strToSplit, ",")

If intChoose = 0 Then
SplitMe = vntX(0) & "," & vntX(1) ' First Name Last Name
ElseIf intChoose = 2 Then
SplitMe = vntX(2) ' MoFa CBo Box
ElseIf intChoose = 1 Then
TxtFirstName = vntX(0) ' First Name
TxtLastName = vntX(1) ' Last Name
CBOMoFa = vntX(2) ' parent type
TxtChild = vntX(3) ' Childs Name
If UBound(vntX) = 4 Then
TxtIssued = vntX(4) ' issued
Else
TxtIssued = ""
End If
If UBound(vntX) = 5 Then
TxtServed = vntX(5) ' served
Else
TxtServed = ""
End If
End If
 
B

Bob Phillips

If intChoose is 1 TxtServed loads okay for me, TxtIssued is empty.

Why do you only select the one?

Maybe it should be

vntX = Split(strToSplit, ",")

If intChoose = 0 Then
SplitMe = vntX(0) & "," & vntX(1) ' First Name Last Name
ElseIf intChoose = 2 Then
SplitMe = vntX(2) ' MoFa CBo Box
ElseIf intChoose = 1 Then
TxtFirstName = vntX(0) ' First Name
TxtLastName = vntX(1) ' Last Name
CBOMoFa = vntX(2) ' parent type
TxtChild = vntX(3) ' Childs Name
If UBound(vntX) > 3 Then
TxtIssued = vntX(4) ' issued
Else
TxtIssued = ""
End If
If UBound(vntX) > 4 Then
TxtServed = vntX(5) ' served
Else
TxtServed = ""
End If
End If


--
---
HTH

Bob


(there's no email, no snail mail, but somewhere should be gmail in my addy)
 
J

Joel

Try this code

Sub getfields()

Data = Range("A1")

firstname = Trim(Left(Data, (InStr(Data, ",") - 1)))
Data = Mid(Data, (InStr(Data, ",") + 1))
lastname = Trim(Left(Data, (InStr(Data, ",") - 1)))
Data = Mid(Data, (InStr(Data, ",") + 1))
mother = Trim(Left(Data, (InStr(Data, ",") - 1)))
mothernumber = Val(Trim(Mid(Data, (InStr(Data, ":") + 1))))
Data = Mid(Data, (InStr(Data, ",") + 1))
mychild = Trim(Left(Data, (InStr(Data, ",") - 1)))
Data = Mid(Data, (InStr(Data, ",") + 1))
firstdate = DateValue(Trim(Left(Data, (InStr(Data, ",") - 1))))
seconddate = DateValue(Trim(Mid(Data, (InStr(Data, ",") + 1))))

End Sub
 
G

gwoodby

Try this code

Sub getfields()

Data = Range("A1")

firstname = Trim(Left(Data, (InStr(Data, ",") - 1)))
Data = Mid(Data, (InStr(Data, ",") + 1))
lastname = Trim(Left(Data, (InStr(Data, ",") - 1)))
Data = Mid(Data, (InStr(Data, ",") + 1))
mother = Trim(Left(Data, (InStr(Data, ",") - 1)))
mothernumber = Val(Trim(Mid(Data, (InStr(Data, ":") + 1))))
Data = Mid(Data, (InStr(Data, ",") + 1))
mychild = Trim(Left(Data, (InStr(Data, ",") - 1)))
Data = Mid(Data, (InStr(Data, ",") + 1))
firstdate = DateValue(Trim(Left(Data, (InStr(Data, ",") - 1))))
seconddate = DateValue(Trim(Mid(Data, (InStr(Data, ",") + 1))))

End Sub









- Show quoted text -

the problem with this is that
either 1 or both of these might be empty, and im not that familiar
with using ubound i actually had someone help me with this a while
back on here.. so if possible could it be explained, or help me to
figure it out im currently looking through forums online to find out
exactly how to use it :|
TxtIssued = DateValue(Trim(Left(data, (InStr(data, ",") - 1))))
TxtServed = DateValue(Trim(Mid(data, (InStr(data, ",") + 1))))
 
J

Joel

I added a check using ISDATE() to prevent errors from occuring.

Sub getfields()

Data = Range("A1")

firstname = Trim(Left(Data, (InStr(Data, ",") - 1)))
Data = Mid(Data, (InStr(Data, ",") + 1))
lastname = Trim(Left(Data, (InStr(Data, ",") - 1)))
Data = Mid(Data, (InStr(Data, ",") + 1))
mother = Trim(Left(Data, (InStr(Data, ",") - 1)))
mothernumber = Val(Trim(Mid(Data, (InStr(Data, ":") + 1))))
Data = Mid(Data, (InStr(Data, ",") + 1))
mychild = Trim(Left(Data, (InStr(Data, ",") - 1)))
Data = Mid(Data, (InStr(Data, ",") + 1))
firstdate = Trim(Left(Data, (InStr(Data, ",") - 1)))
If IsDate(firstdate) = True Then
TxtIssued = DateValue(firstdate)
End
seconddate = Trim(Mid(Data, (InStr(Data, ",") + 1)))
If IsDate(seconddate) = True Then
TxtServed = DateValue(seconddate)
End If

End Sub
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top