Usuario
problema al escribir en base de datos access 2010 desde vb2008

Pregunta
-
Hola a todos
soy nuevo en vb y estoy realizando una aplicación en la cual debo registrar cada determinado tiempo algunos datos, algunos de estos datos son iguales ( fecha, lugar, modo de operación, tiempo) cuando pretendo guardarlos en la BD se me crea un error OLDBExcepcion, me indica de que debo cambiar el indice del campo (ya lo hice pero no me da)
mi pregunta es referente a si es posible escribir multiples datos iguales en la BD access o en que plataforma me recomiendan hacerlo, o si es posible en access que código debo usar (ya intente con la opción indexado (si, datos duplicados).
Agradezco me colaboren con este tema.
Todas las respuestas
-
Hola jhon sanchez jaso,
¿Podrías mostrar un poco de código donde se desencadena el error?
-
hola
Gracias, eje en negrilla la parte donde me sale el error
Private Sub Timer3_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer3.Tick
Label4.Text = TimeOfDay ' se visualiza fecha y hora en el panel principal
Label5.Text = DateString
If k4 <> k5 Then
If JASOMATRIZ3(k5, 0) = "@" Then
If JASOMATRIZ3(k5, 16) = "#" Then
a0 = JASOMATRIZ3(k5, 0) ' INICIADOR DE TRAMA
a1 = JASOMATRIZ3(k5, 1) ' DECENA # DE LA BUSETA
a2 = JASOMATRIZ3(k5, 2) ' UNIDAD # DE LA BUSETA
a3 = JASOMATRIZ3(k5, 3) ' LIBRE********************
a4 = JASOMATRIZ3(k5, 4) ' SITIO DEL MARCAJE
a5 = JASOMATRIZ3(k5, 5) ' MODO ACTUAL DE OPERACION DE LA ESTACION DE MARCAJE ACTUAL(transmisor RESET O LOCAL)
a6 = JASOMATRIZ3(k5, 6) ' DIA DEL MARCAJE
a7 = JASOMATRIZ3(k5, 7) ' MES DEL MARCAJE
a8 = JASOMATRIZ3(k5, 8) ' AÑO DEL MARCAJE
a9 = JASOMATRIZ3(k5, 9) ' HORAS DEL MARCAJE
a10 = JASOMATRIZ3(k5, 10) 'MINUTOS DEL MARCAJE
a11 = JASOMATRIZ3(k5, 11) 'SEGUNDOS DEL MARCAJE
a12 = JASOMATRIZ3(k5, 12) 'ESTADO DEL MODULO (NORMAL/EMERGENTE)
a13 = JASOMATRIZ3(k5, 13) '% USO DE LA BATERIA
a14 = JASOMATRIZ3(k5, 14) 'MODO DEL MARCAJE(1XSITIO!=,2X3MINOFF,3XRETARDOenSITIO,4X!=DIA)
a15 = JASOMATRIZ3(k5, 15) '# DE TRAMAS DE DATOS POR ENVIAR
a16 = JASOMATRIZ3(k5, 16) 'FINALIZADOR DE TRAMA
IN1 = Asc(a1) - 48
IN2 = Asc(a2) - 48
IN1 = (IN1 * 10) + IN2 ' numero del vehiculo en formato int
Label27.Text = IN1 'visualizo
IN2 = Asc(a6) - 48 'dia en formato entero
b6 = IN2.ToString
IN2 = Asc(a7) - 48 'mes en formato entero
b7 = IN2.ToString
IN2 = Asc(a8) - 48 'año en formato entero
b8 = IN2.ToString
Dim totalfecha As String = b6 + "/" + b7 + "/" + b8
IN2 = Asc(a9) - 48 'hora en formato entero
b9 = IN2.ToString
IN3 = IN2 * 3600
IN2 = Asc(a10) - 48 'min en formato entero
b10 = IN2.ToString
IN4 = IN2 * 60
IN2 = Asc(a11) - 48 'segundo en formato entero
b11 = IN2.ToString
IN2 = IN3 + IN4 + IN2
Dim totalhora As String = b9 + ":" + b10 + ":" + b11
j2 = IN2 / 10000
j8 = Int(j2) 'se extrae la diezmilesima
b12 = j8.ToString
IN2 = IN2 - (j8 * 10000)
j2 = IN2 / 1000
j8 = Int(j2) 'se extrae la milesima
b13 = j8.ToString
IN2 = IN2 - (j8 * 1000)
j2 = IN2 / 100
j8 = Int(j2) 'se extrae la centesima
b14 = j8.ToString
IN2 = IN2 - (j8 * 100)
j2 = IN2 / 10
j8 = Int(j2) 'se extrae la decima
b15 = j8.ToString
j8 = IN2 - (j8 * 10) 'se extrae la unidad
b16 = j8.ToString
Dim totalsegundos As String = b12 + b13 + b14 + b15 + b16
IN2 = Asc(a14) - 48
b17 = IN2.ToString 'modo de marcaje
Dim totalmodomarca As String = b17
IN2 = Asc(a13) - 48
b18 = IN2.ToString '% uso bateria
Dim totalbateria As String = b18 + "%"
IN2 = Asc(a15) - 48
b19 = IN2.ToString '# de la trama
Dim totaltrama As String = b19
Select Case a12 ' SITO DEL MARCAJE
Case "1"
ESTADO = "EMERGENTE"
Case "0"
ESTADO = "NORMAL"
Case Else
ESTADO = "NO DATA"
End Select
Select Case a4 ' SITO DEL MARCAJE
Case ":"
SITIO = "SITIO1"
Case ";"
SITIO = "ZARZALITO"
Case "<"
SITIO = "ZARZAL"
Case "="
SITIO = "SITIO2"
Case ">"
SITIO = "LA PAILA"
Case "?"
SITIO = "SITIO3"
Case "@"
SITIO = "SITIO4"
Case "A"
SITIO = "SITIO5"
Case "B"
SITIO = "SITIO6"
Case "C"
SITIO = "SITIO7"
Case "D"
SITIO = "SITIO8"
Case "E"
SITIO = "SITIO9"
Case "F"
SITIO = "SITIO10"
Case "G"
SITIO = "SITIO11"
Case Else
SITIO = "NO SITIO"
End Select
Select Case a5 ' SITO DEL MARCAJE
Case "/"
MODO = "LOCAL"
Case "-"
MODO = "REMOTO"
Case Else
MODO = "NO MODO"
End Select
Select Case IN1 ' SITO DEL MARCAJE
Case 1
cnt1 += 1
ct1 = cnt1.ToString 'contador de entradas
Me.PruebaTableAdapter.vh1(ct1, SITIO, MODO, totalfecha, totalhora,totalsegundos,_ totalmodomarca, ESTADO, totalbateria, totaltrama)
Me.PruebaTableAdapter.Fill(Me.Database1DataSet.prueba)
Case 2
'Me.VehiculodosTableAdapter.vh2(ct1, SITIO, MODO, b6 + "/" + b7 + "/" + b8, b9 + ":" + b10 + ":" + b11, b12 + b13 + b14 + b15 + b16, b17, ESTADO, b18 + "%", b19)
'Me.VehiculodosTableAdapter.Fill(Me.Database1DataSet.vehiculodos)
Case 3
'DataGridView3.Rows.Add(SITIO, MODO, b6 + "/" + b7 + "/" + b8, b9 + ":" + b10 + ":" + b11, b12 + b13 + b14 + b15 + b16, b17, ESTADO, b18 + "%", b19)
Case 4
'DataGridView4.Rows.Add(SITIO, MODO, b6 + "/" + b7 + "/" + b8, b9 + ":" + b10 + ":" + b11, b12 + b13 + b14 + b15 + b16, b17, ESTADO, b18 + "%", b19)
Case 5
'DataGridView5.Rows.Add(SITIO, MODO, b6 + "/" + b7 + "/" + b8, b9 + ":" + b10 + ":" + b11, b12 + b13 + b14 + b15 + b16, b17, ESTADO, b18 + "%", b19)
Case 6
'DataGridView6.Rows.Add(SITIO, MODO, b6 + "/" + b7 + "/" + b8, b9 + ":" + b10 + ":" + b11, b12 + b13 + b14 + b15 + b16, b17, ESTADO, b18 + "%", b19)
Case 7
'DataGridView7.Rows.Add(SITIO, MODO, b6 + "/" + b7 + "/" + b8, b9 + ":" + b10 + ":" + b11, b12 + b13 + b14 + b15 + b16, b17, ESTADO, b18 + "%", b19)
Case 8
'DataGridView8.Rows.Add(SITIO, MODO, b6 + "/" + b7 + "/" + b8, b9 + ":" + b10 + ":" + b11, b12 + b13 + b14 + b15 + b16, b17, ESTADO, b18 + "%", b19)
Case 9
'DataGridView9.Rows.Add(SITIO, MODO, b6 + "/" + b7 + "/" + b8, b9 + ":" + b10 + ":" + b11, b12 + b13 + b14 + b15 + b16, b17, ESTADO, b18 + "%", b19)
Case 10
'DataGridView10.Rows.Add(SITIO, MODO, b6 + "/" + b7 + "/" + b8, b9 + ":" + b10 + ":" + b11, b12 + b13 + b14 + b15 + b16, b17, ESTADO, b18 + "%", b19)
Case 11
'DataGridView11.Rows.Add(SITIO, MODO, b6 + "/" + b7 + "/" + b8, b9 + ":" + b10 + ":" + b11, b12 + b13 + b14 + b15 + b16, b17, ESTADO, b18 + "%", b19)
Case 12
'DataGridView12.Rows.Add(SITIO, MODO, b6 + "/" + b7 + "/" + b8, b9 + ":" + b10 + ":" + b11, b12 + b13 + b14 + b15 + b16, b17, ESTADO, b18 + "%", b19)
Case 13
'DataGridView13.Rows.Add(SITIO, MODO, b6 + "/" + b7 + "/" + b8, b9 + ":" + b10 + ":" + b11, b12 + b13 + b14 + b15 + b16, b17, ESTADO, b18 + "%", b19)
Case 14
'DataGridView14.Rows.Add(SITIO, MODO, b6 + "/" + b7 + "/" + b8, b9 + ":" + b10 + ":" + b11, b12 + b13 + b14 + b15 + b16, b17, ESTADO, b18 + "%", b19)
Case 15
'DataGridView15.Rows.Add(SITIO, MODO, b6 + "/" + b7 + "/" + b8, b9 + ":" + b10 + ":" + b11, b12 + b13 + b14 + b15 + b16, b17, ESTADO, b18 + "%", b19)
Case 16
'DataGridView16.Rows.Add(SITIO, MODO, b6 + "/" + b7 + "/" + b8, b9 + ":" + b10 + ":" + b11, b12 + b13 + b14 + b15 + b16, b17, ESTADO, b18 + "%", b19)
Case 17
'DataGridView17.Rows.Add(SITIO, MODO, b6 + "/" + b7 + "/" + b8, b9 + ":" + b10 + ":" + b11, b12 + b13 + b14 + b15 + b16, b17, ESTADO, b18 + "%", b19)
Case 18
'DataGridView18.Rows.Add(SITIO, MODO, b6 + "/" + b7 + "/" + b8, b9 + ":" + b10 + ":" + b11, b12 + b13 + b14 + b15 + b16, b17, ESTADO, b18 + "%", b19)
Case 19
'DataGridView19.Rows.Add(SITIO, MODO, b6 + "/" + b7 + "/" + b8, b9 + ":" + b10 + ":" + b11, b12 + b13 + b14 + b15 + b16, b17, ESTADO, b18 + "%", b19)
Case 20
'DataGridView20.Rows.Add(SITIO, MODO, b6 + "/" + b7 + "/" + b8, b9 + ":" + b10 + ":" + b11, b12 + b13 + b14 + b15 + b16, b17, ESTADO, b18 + "%", b19)
Case Else
MessageBox.Show("DATOS NO REGISTRADOS")
End Select
'TabControl1.SelectedIndex = IN1 ' visualizo el furmulario con la tabla de los datos entrantes
For i = 0 To 17
JASOMATRIZ(k5, i) = ""
Next i
If k5 >= 900 Then
k5 = 0
End If
If K10 > 38 Then ' borrar cada 38 registros los textbox de visualizacion de datos
K10 = 0
TXTSINCRO.Clear()
End If
TXTSINCRO.Text += a0 + a1 + a2 + a3 + a4 + a5 + a6 + a7 + a8 + a9 + a10 + a11 + a12 + a13 + a14 + a15 + a16 & vbCrLf
End Sub