Access - Error al Insertar datos de Tabla MySQL en tabla de Access

   
Vista:

Error al Insertar datos de Tabla MySQL en tabla de Access

Publicado por Antonio (3 intervenciones) el 28/07/2015 06:40:20
Que tal buenas noches espeor alguien me pueda ayudar. Llevo dias intentando resolver porque no puedo insertar estos datos en Acces tomando como referencia los nombres de la columnas que muestro en un listView ( columnas de Acces y Mysql) el codigo que mostrare acontinuacion me funciona a la perfeccion con textbox's en donde coloco los nombres de las columnas, pero con los listview como referencia no encuentro como resolverlos

Dim Conn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & TextBox1.Text & ";Persist Security Info=False;")

Try
Conn.Open()
'conexion.Open()}

'Dim A As String = "INSERT INTO " + ComboBox1.Text + " (" & ListView2.Items.Item(0).Text & "," & ListView2.Items.Item(1).Text & "," & ListView2.Items.Item(2).Text & "," & ListView2.Items.Item(3).Text & "," & ListView2.Items.Item(4).Text & "," & ListView2.Items.Item(5).Text & "," & ListView2.Items.Item(6).Text & "," & ListView2.Items.Item(7).Text & "," & ListView2.Items.Item(8).Text & "," & ListView2.Items.Item(9).Text & "," & ListView2.Items.Item(10).Text & "," & ListView2.Items.Item(11).Text & "," & ListView2.Items.Item(12).Text & "," & ListView2.Items.Item(13).Text & "," & ListView2.Items.Item(14).Text & "," & ListView2.Items.Item(15).Text & "," & ListView2.Items.Item(16).Text & "," & ListView2.Items.Item(17).Text & "," & ListView2.Items.Item(18).Text & "," & ListView2.Items.Item(19).Text & "," & ListView2.Items.Item(20).Text & "," & ListView2.Items.Item(21).Text & "," & ListView2.Items.Item(22).Text & "," & ListView2.Items.Item(23).Text & "," & ListView2.Items.Item(24).Text & "," & ListView2.Items.Item(25).Text & "," & ListView2.Items.Item(26).Text & "," & ListView2.Items.Item(27).Text & "," & ListView2.Items.Item(28).Text & ") VALUES (@" & ListView2.Items.Item(0).Text & ",@" & ListView2.Items.Item(1).Text & ",@" & ListView2.Items.Item(2).Text & ",@" & ListView2.Items.Item(3).Text & ",@" & ListView2.Items.Item(4).Text & ",@" & ListView2.Items.Item(5).Text & ",@" & ListView2.Items.Item(6).Text & ",@" & ListView2.Items.Item(7).Text & ",@" & ListView2.Items.Item(8).Text & ",@" & ListView2.Items.Item(9).Text & ",@" & ListView2.Items.Item(10).Text & ",@" & ListView2.Items.Item(11).Text & ",@" & ListView2.Items.Item(12).Text & ",@" & ListView2.Items.Item(13).Text & ",@" & ListView2.Items.Item(14).Text & ",@" & ListView2.Items.Item(15).Text & ",@" & ListView2.Items.Item(16).Text & ",@" & ListView2.Items.Item(17).Text & ",@" & ListView2.Items.Item(18).Text & ",@" & ListView2.Items.Item(19).Text & ",@" & ListView2.Items.Item(20).Text & ",@" & ListView2.Items.Item(21).Text & ",@" & ListView2.Items.Item(22).Text & ",@" & ListView2.Items.Item(23).Text & ",@" & ListView2.Items.Item(24).Text & ",@" & ListView2.Items.Item(25).Text & ",@" & ListView2.Items.Item(26).Text & ",@" & ListView2.Items.Item(27).Text & ",@" & ListView2.Items.Item(28).Text & ")"

For X As Integer = 0 To DataGridView1.Rows.Count - 1
Using cmdInsert As New OleDbCommand
With cmdInsert
.CommandText = "INSERT INTO Factura (" & ListView2.Items.Item(0).Text & "," & ListView2.Items.Item(1).Text & "," & ListView2.Items.Item(2).Text & "," & ListView2.Items.Item(3).Text & "," & ListView2.Items.Item(4).Text & "," & ListView2.Items.Item(5).Text & "," & ListView2.Items.Item(6).Text & "," & ListView2.Items.Item(7).Text & "," & ListView2.Items.Item(8).Text & "," & ListView2.Items.Item(9).Text & "," & ListView2.Items.Item(10).Text & "," & ListView2.Items.Item(11).Text & "," & ListView2.Items.Item(12).Text & "," & ListView2.Items.Item(13).Text & "," & ListView2.Items.Item(14).Text & "," & ListView2.Items.Item(15).Text & "," & ListView2.Items.Item(16).Text & "," & ListView2.Items.Item(17).Text & "," & ListView2.Items.Item(18).Text & "," & ListView2.Items.Item(19).Text & "," & ListView2.Items.Item(20).Text & "," & ListView2.Items.Item(21).Text & "," & ListView2.Items.Item(22).Text & "," & ListView2.Items.Item(23).Text & "," & ListView2.Items.Item(24).Text & "," & ListView2.Items.Item(25).Text & "," & ListView2.Items.Item(26).Text & "," & ListView2.Items.Item(27).Text & "," & ListView2.Items.Item(28).Text & ") VALUES (@" & ListView2.Items(0).Text & ",@" & ListView2.Items.Item(1).Text & ",@" & ListView2.Items.Item(2).Text & ",@" & ListView2.Items.Item(3).Text & ",@" & ListView2.Items.Item(4).Text & ",@" & ListView2.Items.Item(5).Text & ",@" & ListView2.Items.Item(6).Text & ",@" & ListView2.Items.Item(7).Text & ",@" & ListView2.Items.Item(8).Text & ",@" & ListView2.Items.Item(9).Text & ",@" & ListView2.Items.Item(10).Text & ",@" & ListView2.Items.Item(11).Text & ",@" & ListView2.Items.Item(12).Text & ",@" & ListView2.Items.Item(13).Text & ",@" & ListView2.Items.Item(14).Text & ",@" & ListView2.Items.Item(15).Text & ",@" & ListView2.Items.Item(16).Text & ",@" & ListView2.Items.Item(17).Text & ",@" & ListView2.Items.Item(18).Text & ",@" & ListView2.Items.Item(19).Text & ",@" & ListView2.Items.Item(20).Text & ",@" & ListView2.Items.Item(21).Text & ",@" & ListView2.Items.Item(22).Text & ",@" & ListView2.Items.Item(23).Text & ",@" & ListView2.Items.Item(24).Text & ",@" & ListView2.Items.Item(25).Text & ",@" & ListView2.Items.Item(26).Text & ",@" & ListView2.Items.Item(27).Text & ",@" & ListView2.Items.Item(28).Text & ");"
.CommandType = CommandType.Text
.Connection = Conn
.Parameters.Add("@" & ListView2.Items.Item(0).Text, OleDbType.Integer).Value = Convert.ToInt32(DataGridView1.Rows(X).Cells(ListView1.Items.Item(0).Text).Value)
.Parameters.Add("@" & ListView2.Items.Item(1).Text, OleDbType.VarChar).Value = DataGridView1.Rows(X).Cells(ListView1.Items.Item(1).Text).Value.ToString
.Parameters.Add("@" & ListView2.Items.Item(2).Text, OleDbType.VarChar).Value = DataGridView1.Rows(X).Cells(ListView1.Items.Item(2).Text).Value.ToString
.Parameters.Add("@" & ListView2.Items.Item(3).Text, OleDbType.VarChar).Value = DataGridView1.Rows(X).Cells(ListView1.Items.Item(3).Text).Value.ToString
.Parameters.Add("@" & ListView2.Items.Item(4).Text, OleDbType.Integer).Value = Convert.ToInt32(DataGridView1.Rows(X).Cells(ListView1.Items.Item(4).Text).Value)
.Parameters.Add("@" & ListView2.Items.Item(5).Text, OleDbType.VarChar).Value = DataGridView1.Rows(X).Cells(ListView1.Items.Item(5).Text).Value.ToString
.Parameters.Add("@" & ListView2.Items.Item(6).Text, OleDbType.VarChar).Value = DataGridView1.Rows(X).Cells(ListView1.Items.Item(6).Text).Value.ToString
.Parameters.Add("@" & ListView2.Items.Item(7).Text, OleDbType.Integer).Value = Convert.ToInt32(DataGridView1.Rows(X).Cells(ListView1.Items.Item(7).Text).Value)
.Parameters.Add("@" & ListView2.Items.Item(8).Text, OleDbType.Integer).Value = Convert.ToInt32(DataGridView1.Rows(X).Cells(ListView1.Items.Item(8).Text).Value)
.Parameters.Add("@" & ListView2.Items.Item(9).Text, OleDbType.Integer).Value = Convert.ToInt32(DataGridView1.Rows(X).Cells(ListView1.Items.Item(9).Text).Value)
.Parameters.Add("@" & ListView2.Items.Item(10).Text, OleDbType.Integer).Value = Convert.ToInt32(DataGridView1.Rows(X).Cells(ListView1.Items.Item(10).Text).Value)
.Parameters.Add("@" & ListView2.Items.Item(11).Text, OleDbType.VarChar).Value = DataGridView1.Rows(X).Cells(ListView1.Items.Item(11).Text).Value.ToString
.Parameters.Add("@" & ListView2.Items.Item(12).Text, OleDbType.Integer).Value = Convert.ToInt16(DataGridView1.Rows(X).Cells(ListView1.Items.Item(12).Text).Value)
.Parameters.Add("@" & ListView2.Items.Item(13).Text, OleDbType.VarChar).Value = DataGridView1.Rows(X).Cells(ListView1.Items.Item(13).Text).Value.ToString
.Parameters.Add("@" & ListView2.Items.Item(14).Text, OleDbType.VarChar).Value = DataGridView1.Rows(X).Cells(ListView1.Items.Item(14).Text).Value.ToString
.Parameters.Add("@" & ListView2.Items.Item(15).Text, OleDbType.VarChar).Value = DataGridView1.Rows(X).Cells(ListView1.Items.Item(15).Text).Value.ToString
.Parameters.Add("@" & ListView2.Items.Item(16).Text, OleDbType.Integer).Value = Convert.ToInt16(DataGridView1.Rows(X).Cells(ListView1.Items.Item(16).Text).Value)
.Parameters.Add("@" & ListView2.Items.Item(17).Text, OleDbType.VarChar).Value = DataGridView1.Rows(X).Cells(ListView1.Items.Item(17).Text).Value.ToString
.Parameters.Add("@" & ListView2.Items.Item(18).Text, OleDbType.Integer).Value = Convert.ToInt16(DataGridView1.Rows(X).Cells(ListView1.Items.Item(18).Text).Value)
.Parameters.Add("@" & ListView2.Items.Item(19).Text, OleDbType.Integer).Value = Convert.ToInt32(DataGridView1.Rows(X).Cells(ListView1.Items.Item(19).Text).Value)
.Parameters.Add("@" & ListView2.Items.Item(20).Text, OleDbType.Integer).Value = Convert.ToInt32(DataGridView1.Rows(X).Cells(ListView1.Items.Item(20).Text).Value)
.Parameters.Add("@" & ListView2.Items.Item(21).Text, OleDbType.Integer).Value = Convert.ToInt32(DataGridView1.Rows(X).Cells(ListView1.Items.Item(21).Text).Value)
.Parameters.Add("@" & ListView2.Items.Item(22).Text, OleDbType.VarChar).Value = DataGridView1.Rows(X).Cells(ListView1.Items.Item(22).Text).Value.ToString
.Parameters.Add("@" & ListView2.Items.Item(23).Text, OleDbType.VarChar).Value = DataGridView1.Rows(X).Cells(ListView1.Items.Item(23).Text).Value.ToString
.Parameters.Add("@" & ListView2.Items.Item(24).Text, OleDbType.Integer).Value = Convert.ToInt16(DataGridView1.Rows(X).Cells(ListView1.Items.Item(24).Text).Value)
.Parameters.Add("@" & ListView2.Items.Item(25).Text, OleDbType.VarChar).Value = DataGridView1.Rows(X).Cells(ListView1.Items.Item(25).Text).Value.ToString
.Parameters.Add("@" & ListView2.Items.Item(26).Text, OleDbType.Integer).Value = Convert.ToInt16(DataGridView1.Rows(X).Cells(ListView1.Items.Item(26).Text).Value)
.Parameters.Add("@" & ListView2.Items.Item(27).Text, OleDbType.VarChar).Value = DataGridView1.Rows(X).Cells(ListView1.Items.Item(27).Text).Value
.Parameters.Add("@" & ListView2.Items.Item(28).Text, OleDbType.VarChar).Value = DataGridView1.Rows(X).Cells(ListView1.Items.Item(28).Text).Value.ToString
'.Parameters.Add("@" & ListView2.Items.Item(29).Text, OleDbType.VarChar).Value = DataGridView1.Rows(X).Cells(ListView1.Items.Item(29).Text).Value.ToString



End With
Dim Correcto As Integer = cmdInsert.ExecuteNonQuery
If Correcto = 0 Then
MessageBox.Show("Error no se pudo agregar la fila", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Error)
End If
End Using
Next


el mensaje de error me dice error de sintaxis en INSER INTO.

espero puedan ayudarme y gracias
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

Error al Insertar datos de Tabla MySQL en tabla de Access

Publicado por Enrique Heliodoro (1663 intervenciones) el 28/07/2015 08:55:26
No me parece un entorno típico de Access, mas bien de Visual Basic.

Lo que me lleva a opinar de esa forma es la forma de referenciar a los supuestos objetos Access, asi como el concatenador utilizado:

En Access el concatenador es ==> &
(aunque se admita el + por compatibilidad, pero no se comporta de igual forma)

En Access la propiedad .Test solo 'existe' si el objeto tiene el foco
(en el código mostrado esa propiedad se le aplica a todos los referentes y ... todos al tiempo con el foco no es una opción admisible).
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

Error al Insertar datos de Tabla MySQL en tabla de Access

Publicado por Antonio (3 intervenciones) el 28/07/2015 16:57:58
Si perdon olvide especificar que lo estoy desarrollando en VB.NET, la idea es exportar datos de MySql a Access, extraigo los nombres de las columnas de un listview ( columnas acess - columnas mysql , para que pueda decidir que valor de la columna de la tabla mysql se insertara en la columna de la tabla access) Esta misma instruccion la usaba con textbox y me funcionaba correctamente

---------------------
.CommandText = "INSERT INTO " & ComboBox2.text & " (" & T1.SelectedText & "," & T2.SelectedText & "," & T3.SelectedText & "," & T4.SelectedText & "," & T5.SelectedText & "," & T6.SelectedText & ") VALUES (@" & T1.SelectedText & ",@" & T2.SelectedText & ",@" & T3.SelectedText & ",@" & T4.SelectedText & ",@" & T5.SelectedText & ",@" & T6.SelectedText & ")"
.CommandType = CommandType.Text
.Connection = Conn
.Parameters.Add("@" & T1.SelectedText, OleDbType.Integer).Value = Convert.ToInt32(DataGridView1.Rows(X).Cells(TB1.SelectedText).Value)
.Parameters.Add("@" & T2.SelectedText, OleDbType.VarChar).Value = DataGridView1.Rows(X).Cells(TB2.SelectedText).Value.ToString
.Parameters.Add("@" & T3.SelectedText, OleDbType.VarChar).Value = DataGridView1.Rows(X).Cells(TB3.SelectedText).Value.ToString
.Parameters.Add("@" & T4.SelectedText, OleDbType.VarChar).Value = DataGridView1.Rows(X).Cells(TB4.SelectedText).Value.ToString
.Parameters.Add("@" & T5.SelectedText, OleDbType.VarChar).Value = DataGridView1.Rows(X).Cells(TB5.SelectedText).Value.ToString
.Parameters.Add("@" & T6.SelectedText, OleDbType.VarChar).Value = DataGridView1.Rows(X).Cells(TB6.SelectedText).Value.ToString

---------------------------------------
entonces quise cambiar o indicarle que los obtendra de una posicion de los items del listview que se supone inician en 0, (ambos listview solo poseen un acolumna que como ya mencione es el nombre de los atributos de la tabla en access y la de mysql)



Gracias por responder Enrique
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

Error al Insertar datos de Tabla MySQL en tabla de Access

Publicado por Enrique Heliodoro (1663 intervenciones) el 28/07/2015 19:15:45
Si estas trabajando en VB.NET, con la sintaxis no puedo prestar ayuda (cada entorno utiliza la suya) y esto es un foro de Access.

Si, en VBA se comienza a contar por cero al referirse al numero de columna, pero si hay una sola también adquirirá la propiedad de predeterminada y la tomara por defecto (usar la propiedad COLUMN con una sola es .... innecesario).

Según se diseñe el cuadro de lista en 'Access' los datos se insertaran de una u otra forma (depende de que su origen sea una tabla/consulta o lista de valores), si se desease 'guardar' los valores en el propio cuadro de lista, se debería optar por 'lista de valores', en otro caso su origen debería ser una tabla o consulta.
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