Visual Basic - Autoincrementar en BD con INTO EN SQL

Life is soft - evento anual de software empresarial
 
Vista:

Autoincrementar en BD con INTO EN SQL

Publicado por Eduardo valle (2 intervenciones) el 23/01/2003 16:05:56
tengo el siguiente Codigo no si esta bien, tengo una tabla articulo la cual tiene campos(art_cod, art_nom), clave cod esta en auto incremento y art nom el nombre, tengo estas lineas de codigo las cuales si el articulo deseado no exista se agregue pero me sale type mismacht ,
las variable de las conexion de BD las tengo en un modulo bas y publicas por si acaso.
Lo que hioce fue contar los registros con recordcount, luego coloque el puntero en el primer registro, y al agregar un dato se me cae, si alguien le paso algo similar me pueda ayudar.
lo otro este es un form que llemoa desde otro form principal esde el principal tengo opendatabase donde abro la BD, luego llamo a esta rutina de aca abajo al presionar grabar

Public Sub cmdAgrArticulo_Click()
Dim num As Integer
Dim nombrearticulo As String
SQL = "select * from articulo"
Set rs = db.OpenRecordset(SQL, dbOpenSnapshot)
nombrearticulo = txtArticulo.Text

rs.MoveLast
num = rs.RecordCount + 1
rs.MoveFirst
' permite Agregar datos a msflexgrid1
SQL = "INSERT INTO articulo(art_cod, art_nom) VALUES (" + num + "," + nombrearticulo + ")"
' Execute the SQL command
db.Execute SQL
MsgBox "Grabo Exitosamente"
End Sub
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

RE:Autoincrementar en BD con INTO EN SQL

Publicado por nikolaievp (23 intervenciones) el 23/01/2003 17:11:10
talvez el mismatch te salga por que te falta encerrar el nombrearticulo dentro de comillas sencillas

SQL = "INSERT INTO articulo(art_cod, art_nom) VALUES (" + num + "," + nombrearticulo + ")"

ese era tu ejemplo
este es el mio
SQL = "INSERT INTO articulo(art_cod, art_nom) VALUES (" + num + ",' " + nombrearticulo + " ' )"
le coloque espacios entre la comilla sencilla y las dobles para que en este ejemplo se notara, debes quitar ese espacio
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