i got an error >>> Arithmetic operation resulted in an overflow.

please help

thanks in advance

``````Private randomClass as new Random

For i = 0 To CInt(10) - 1
strId &= Mid(strCodes, Int(Len(strCodes) * randomClass.Next() ) + 1, 1)
Next

For i = 0 To CInt(4) - 1
strId2 &= Mid(strCodes, Int(Len(strCodes) * randomClass.Next() ) + 1, 1)
Next``````

## Recommended Answers

What is the data type of strId and strId2 and why r u doing CInt(10) - 1 and
CInt(4) - 1 As 10 and 4 are integer only. you need not to convert explicitly.
you can directly give 0 to 9 and 0 to 3
in which line ur getting …

There are so many things wrong here.

That is not "the whole code"

You are concatenating A and B to strCodes but we have no idea what A and B are. Because they are not defined anywhere I must assume they are Class or global variables.

You …

## All 6 Replies

What is the data type of strId and strId2 and why r u doing CInt(10) - 1 and
CInt(4) - 1 As 10 and 4 are integer only. you need not to convert explicitly.
you can directly give 0 to 9 and 0 to 3
in which line ur getting the error?

this is the whole code

``````lstLicense.Items.Clear()
lstLicense.Enabled = True

Dim strCodes As String
Dim strId As String
Dim strId2 As String
Dim zz As String
Dim item As ListViewItem
Dim random As New Random
strCodes = strCodes & A
strCodes = strCodes & B

Randomize()

For i = 0 To CLng(5) - 1
strId &= Mid(strCodes, CLng(Len(strCodes) * randomClass.Next()) + 1, 1)
Next

For i = 0 To CLng(5) - 1
strId2 &= Mid(strCodes, CLng(Len(strCodes) * randomClass.Next()) + 1, 1)
Next

txtPartNumber.Text = zz

For d As Integer = 0 To DataGridView1.Rows.Count - 2

With item

item = lstLicense.Items.Add(DataGridView1.Item(2, d).Value.ToString, 0)
item.SubItems.Add(DataGridView1.Item(3, d).Value.ToString)
item.SubItems.Add(zz)

End With
Next``````

There are so many things wrong here.

That is not "the whole code"

You are concatenating A and B to strCodes but we have no idea what A and B are. Because they are not defined anywhere I must assume they are Class or global variables.

You are using variables that have not been initialized

You use zz, strCodes, strId and strId2 without first assigning them values.

You are not consistent in your variable usage

I may be mistaken, but on lines 16 and 20 shouldn't that be "random" instead of "randomClass"?

You are doing unnecessary calculations and type conversions

For i = 0 To CLng(5) - 1

should be rewritten as

For i as integer from 0 to 4

You still aren't telling us what line threw the error

Having said that, random.Next gets you the next random integer. This number can be very large (eg 835349378) and is likely the cause of the error. next.Double gets the next random double between 0.0 and 1.0. Can you tell us what range you are expecting for the random number?

i forget to inlcude this string

``````Public Const A As String = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Public Const B As String = "0123456789"``````

Actually i already reconstruct my code

here

``````Public Const A As String = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Public Const B As String = "0123456789"

Dim strId, strId1, strId2, strId3, strId4, strId5, strId6 As String
Dim item As ListViewItem

For io As Integer = 0 To DataGridView1.Rows.Count - 2

For i As Integer = 0 To 8
strId1 = A(randomClass.Next(0, A.Length - 1)).ToString()
strId2 = A(randomClass.Next(0, A.Length - 1)).ToString()
strId3 = A(randomClass.Next(0, A.Length - 1)).ToString()
strId4 = B(randomClass.Next(0, B.Length - 1)).ToString()
strId5 = B(randomClass.Next(0, B.Length - 1)).ToString()
strId6 = B(randomClass.Next(0, B.Length - 1)).ToString()

strId = "EMRSN-" & strId1 & strId2 & strId3 & strId4 & strId5 & strId6

Next``````

but all i want is to simplify this code...

A description of what you want the code to do would help.

In which line ur getting the error?

Be a part of the DaniWeb community

We're a friendly, industry-focused community of 1.20 million developers, IT pros, digital marketers, and technology enthusiasts learning and sharing knowledge.