Visual Basic.NET - Insertat registro a base de datos Access 2013 desde visual basic 2013

 
Vista:
sin imagen de perfil
Val: 22
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Insertat registro a base de datos Access 2013 desde visual basic 2013

Publicado por JOSE ANGEL (13 intervenciones) el 26/03/2019 22:51:31
HOLA BUEN DÍA, ESTOY REALIZANDO UN PROYECTO CON VISUAL Y ACCESS 2013 AMBAS.
MI PROBLEMA RECAE EN LO SIGUIENTE; AL GUARDAR ESTE INSERT ME MARCA UN ERROR Y NO LO GUARDA. ME PUEDEN APOYAR DICIENDOME DONDE ESTA MI ERROR, GRACIAS

Estas son mis variables de conexión
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Public Conex As ADODB.Connection
Public rst As ADODB.Recordset
 
cont = 0 : cont1 = 0
    For i = 0 To 3
        If cont1 = 1 Then
            Exit Sub
        End If
        cont = i
        validarcampos()
    Next
 
    If cadena = "Nuevo" Then
 
        rst.Open("Select max (Id_HCNP)+1  as total from HCNP", cnn)
        If Not rst.EOF Then
            cont = rst("total").Value
        End If
        rst.Close()
 
 
 
        ''Guarda datos de formulacion de color 
 
        For i = 0 To FcoloR11.gColor1.RowCount - 1
            Try
                rst.Open("INSERT INTO CCOLOR (ID_Historia, Tipo_Insumo, Proveedor, NumPasadas, Color, Viscosidad, Material, Clave, Min, Std, Maximo ,Estacion)  VALUES ( " & cont & ", '" & FcoloR11.tinta.Text & "', '" & FcoloR11.Proveedor.Text & "', " & FcoloR11.PasadasF1.Text & " , '" & FcoloR11.Color.Text & "', '" & FcoloR11.Visc.Text & "', '" & FcoloR11.gColor1.Rows(i).Cells(0).Value & "', '" & FcoloR11.gColor1.Rows(i).Cells(1).Value & "', '" & FcoloR11.gColor1.Rows(i).Cells(2).Value & "', '" & FcoloR11.gColor1.Rows(i).Cells(3).Value & "', '" & FcoloR11.gColor1.Rows(i).Cells(4).Value & "', 1) ", cnn)
 
            Catch ex As Exception
 
                MessageBox.Show(ex.Message)
            End Try
            'MsgBox(FcoloR11.GCOLORP.Rows(i).Cells(4).Value)
 
        Next
        If Impresiones.Text = 2 Then
            For i = 0 To FcoloR12.gColor1.RowCount - 1
                rst.Open("INSERT INTO CCOLOR (ID_Historia, Tipo_Insumo, Proveedor, NumPasadas, Color, Viscosidad, Material, Clave, Min, Std, Maximo ,Estacion)  VALUES ( " & cont & ", '" & FcoloR12.tinta.Text & "','" & FcoloR12.Proveedor.Text & "',  " & FcoloR12.PasadasF1.Text & " , '" & FcoloR12.Color.Text & "', '" & FcoloR12.Visc.Text & "', '" & FcoloR12.gColor1.Rows(i).Cells(0).Value & "', '" & FcoloR12.gColor1.Rows(i).Cells(1).Value & "', '" & FcoloR12.gColor1.Rows(i).Cells(2).Value & "', '" & FcoloR12.gColor1.Rows(i).Cells(3).Value & "', '" & FcoloR12.gColor1.Rows(i).Cells(4).Value & "', 2)", cnn)
            Next
        End If
        If Impresiones.Text = 3 Then
            For i = 0 To FcoloR13.gColor1.RowCount - 1
                rst.Open("INSERT INTO CCOLOR (ID_Historia, Tipo_Insumo, Proveedor, NumPasadas, Color, Viscosidad, Material, Clave, Min, Std, Maximo ,Estacion)  VALUES ( " & cont & ", '" & FcoloR13.tinta.Text & "','" & FcoloR13.Proveedor.Text & "',  " & FcoloR13.PasadasF1.Text & " , '" & FcoloR13.Color.Text & "', '" & FcoloR13.Visc.Text & "', '" & FcoloR13.gColor1.Rows(i).Cells(0).Value & "', '" & FcoloR13.gColor1.Rows(i).Cells(1).Value & "', '" & FcoloR13.gColor1.Rows(i).Cells(2).Value & "', '" & FcoloR13.gColor1.Rows(i).Cells(3).Value & "', '" & FcoloR13.gColor1.Rows(i).Cells(4).Value & "', 3)", cnn)
            Next
        End If

Contestando a tu pregunta Phil Rob
El rst es del tipo Recordset.
El mensaje que sale es que hay un error en el insert "ERROR EN EL INSERT INTO STATEMENT"
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Insertat registro a base de datos Access 2013 desde visual basic 2013

Publicado por omar (31 intervenciones) el 26/03/2019 23:01:11
Checa que tipo de datos creaste en tu base de datos y checa que en tu cadena insert sea segun el tipo de campo numerico , texto, o fecha
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Insertat registro a base de datos Access 2013 desde visual basic 2013

Publicado por Phil Rob (1554 intervenciones) el 26/03/2019 23:20:13
Hola,

Esta es seguro, hay un error de sintaxis SQL en el comando INSERT ...
Tiene que lo ver en STRING para corregir : Dim Comando As String = "INSERT ...", entonces puede ver totos los caracteres, tambien ver el uso de los apostrofos y comillas ...

Creo que tu pregunta es para el foro Visual Basic pero no para el foro Viusal Basic.NET.
No trabajo mas con ADODB, en .NET, trabajamos con OleDB.
Despuès 2005, he olvidado los RecordSet.

...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 22
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Insertat registro a base de datos Access 2013 desde visual basic 2013

Publicado por JOSE ANGEL (13 intervenciones) el 27/03/2019 15:16:03
Hola, revise mi tabla a la cual inserto los siguientes datos, mis campos son: ID_Historia INT, Tipo_Insumo VARCHAR, Proveedor VARCHAR, NumPasadas INT, Colo VARCHARr, Viscosidad VARCHAR, Material VARCHAR, Clave VARCHAR, Min VARCHAR, Std VARCHAR, Maximo VARCHAR ,Estacion INT.
AUN ME SIGUE SALIENDO QUE TENGO UN ERROR DE SINTAXIS EN EL INSERT

If Impresiones.Text = 2 Then
For i = 0 To FcoloR12.gColor1.RowCount - 1
rst.Open("INSERT INTO CCOLOR (ID_Historia, Tipo_Insumo, Proveedor, NumPasadas, Color, Viscosidad, Material, Clave, Min, Std, Maximo ,Estacion) VALUES ( " & cont & ", '" & FcoloR12.tinta.Text & "','" & FcoloR12.Proveedor.Text & "', " & FcoloR12.PasadasF1.Text & " , '" & FcoloR12.Color.Text & "', '" & FcoloR12.Visc.Text & "', '" & FcoloR12.gColor1.Rows(i).Cells(0).Value & "', '" & FcoloR12.gColor1.Rows(i).Cells(1).Value & "', '" & FcoloR12.gColor1.Rows(i).Cells(2).Value & "', '" & FcoloR12.gColor1.Rows(i).Cells(3).Value & "', '" & FcoloR12.gColor1.Rows(i).Cells(4).Value & "', 2)", cnn)
Next
End If
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Insertat registro a base de datos Access 2013 desde visual basic 2013

Publicado por Phil Rob (1554 intervenciones) el 27/03/2019 15:48:26
Reemplaza (Copiar / Pegar) tu SQL por :

rst.Open("INSERT INTO CCOLOR (ID_Historia, Tipo_Insumo, Proveedor, NumPasadas, Color, Viscosidad, Material, Clave, Min, Std, Maximo, Estacion) VALUES ('" & cont & "', '" & FcoloR12.tinta.Text & "','" & FcoloR12.Proveedor.Text & "', '" & FcoloR12.PasadasF1.Text & "' , '" & FcoloR12.Color.Text & "', '" & FcoloR12.Visc.Text & "', '" & FcoloR12.gColor1.Rows(i).Cells(0).Value & "', '" & FcoloR12.gColor1.Rows(i).Cells(1).Value & "', '" & FcoloR12.gColor1.Rows(i).Cells(2).Value & "', '" & FcoloR12.gColor1.Rows(i).Cells(3).Value & "', '" & FcoloR12.gColor1.Rows(i).Cells(4).Value & "', 2)", cnn)

y decime como esta funcione entonces.
Si es bien, entonces explicaré.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 22
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Insertat registro a base de datos Access 2013 desde visual basic 2013

Publicado por JOSE ANGEL (13 intervenciones) el 27/03/2019 18:46:34
YA ME QUEDO, SOLO CAMBIE LOS NOMBRES DE LOS CAMPOS DE MI TABLA LOS CUALES FUERON MIN POR MINIMO, STD POR ESTANDAR Y LOGRE QUE SE GUARDARAN, NO SE SI SEA PORQUE EN VISUAL LAS TOMO COMO PALABRAS RESERVADAS.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Insertat registro a base de datos Access 2013 desde visual basic 2013

Publicado por Phil Rob (1554 intervenciones) el 27/03/2019 19:42:49
Disculpa ... no comprendo tu comentario.

¿Es mi frase "Insert" del mensaje anterior correcta?

Si no, envia la base de datos (parcialmente) y lo trabojaré.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 22
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Insertat registro a base de datos Access 2013 desde visual basic 2013

Publicado por JOSE ANGEL HIPOLITO MERCADO (13 intervenciones) el 27/03/2019 19:54:11
¿Es mi frase "Insert" del mensaje anterior correcta?

Solo en el '" & cont & "' le quite un par de comillas quedando así:

rst.Open("INSERT INTO CCOLOR (ID_Historia, Tipo_Insumo, Proveedor, NumPasadas, Color, Viscosidad, Material, Clave, Min, Std, Maximo, Estacion) VALUES (" & cont & ", '" & FcoloR12.tinta.Text & "','" & FcoloR12.Proveedor.Text & "', '" & FcoloR12.PasadasF1.Text & "' , '" & FcoloR12.Color.Text & "', '" & FcoloR12.Visc.Text & "', '" & FcoloR12.gColor1.Rows(i).Cells(0).Value & "', '" & FcoloR12.gColor1.Rows(i).Cells(1).Value & "', '" & FcoloR12.gColor1.Rows(i).Cells(2).Value & "', '" & FcoloR12.gColor1.Rows(i).Cells(3).Value & "', '" & FcoloR12.gColor1.Rows(i).Cells(4).Value & "', 2)", cnn)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Insertat registro a base de datos Access 2013 desde visual basic 2013

Publicado por Phil Rob (1554 intervenciones) el 27/03/2019 20:15:58
No respondes a mi pregunta.
¿has probar mi frase?

Hay error sintaxis si no hay apostrofo con los variables numericos : ID_Historia y NumPasadas.
Para Estacion, el valor es escribido como es, es un caractere.
Mi frase del mensaje anterior estabas corrigido.

Si error continua, entonces tu tiene error en una de los variables "Varchar", par ejemplo, comillas o apostrofo en el texto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 22
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Insertat registro a base de datos Access 2013 desde visual basic 2013

Publicado por JOSE ANGEL (13 intervenciones) el 27/03/2019 21:51:42
PROBE TU INSERT, SI FUNCIONA, YA SE GUARDAN LOS DATOS, ASÍ ME QUEDO.

1
2
3
4
5
6
7
8
For i = 0 To FcoloR11.GCOLORP.RowCount - 1
    Try
        rst.Open("INSERT INTO CCOLOR (ID_Historia, Tipo_Insumo, Proveedor, NumPasadas, Colores, Viscosidad, Material, Clave, Minimo, Estandar, Maximo ,Estacion)  VALUES ( " & cont & ", '" & FcoloR11.tinta.Text & "', '" & FcoloR11.Proveedor.Text & "', " & FcoloR11.PasadasF1.Text & " , '" & FcoloR11.Color.Text & "', '" & FcoloR11.Visc.Text & "', '" & FcoloR11.GCOLORP.Rows(i).Cells(0).Value & "', '" & FcoloR11.GCOLORP.Rows(i).Cells(1).Value & "', '" & FcoloR11.GCOLORP.Rows(i).Cells(2).Value & "', '" & FcoloR11.GCOLORP.Rows(i).Cells(3).Value & "', '" & FcoloR11.GCOLORP.Rows(i).Cells(4).Value & "', 1) ", Conex)
 
    Catch ex As Exception
 
        MessageBox.Show(ex.Message)
    End Try
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Insertat registro a base de datos Access 2013 desde visual basic 2013

Publicado por Phil Rob (1554 intervenciones) el 27/03/2019 22:54:23
Asi, si "YA SE GUARDAN LOS DATOS", este es bien.

Pero creo que escribir . '" & cont & "' es necesario.

Buena nocha,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 22
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Insertat registro a base de datos Access 2013 desde visual basic 2013

Publicado por JOSE ANGEL (13 intervenciones) el 27/03/2019 22:59:00
GRACIAS POR LA ASESORÍA, SALUDOS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar