Realizar una consulta en el formulario e insértalo

Hola
Estoy intentado realizar una consulta en un formulario y una vez que tenga el dato, lo manipulo e inserto un nuevo un nuevo registro en la tabla, pero no me funciona. Te paso un trozo del código:
Dim age As String
Dim sucursal, num As String
Dim rst As ADODB.Recordset
' yo he probado esto
Set rst = New Recordset
rst.CursorLocation = adUseClient
rst.Open "SELECT [Prueba].[Delegacion], [Prueba].[numero], [Prueba].[Año]FROM prueba WHERE [Prueba].[Delegacion]=" & "'" & sucursal & "'" & " And [Prueba].[Año]=" & "'" & age & "'" & ";", CurrentProject.Connection, adOpenDynamic, adLockOptimistic
rst.Requery
If rst.RecordCount = 0 Then
num = 1
Else
num = rst.Fields("numero")
numfact = CLng(num)
numfact = numfact + 1
num = CStr(numfact)
End If
rst.Close
Forms!Formulario1.Recordset.AddNew
Forms!Formulario1.Recordset.Fields(0).Value = age
Forms!Formulario1.Recordset.Fields(1).Value = sucursal
Forms!Formulario1.Recordset.Fields(2).Value = num
Haber si me puedes solucionar la duda. Soy nuevo programando en el access y en el visual basic.
Gracias

1 Respuesta

Respuesta
1
Como le estas haciendo es algo complicado, digo yo, yo mejor uso el objeto data. Es muy fácil. Para buscar haces un ciclo como este.
Data1.DatabaseName = "c:\ruta\basededatos.mdb"
Data1.RecordSource = "tablaquedesees"
Data2.DatabaseName = "c:\ruta\basededatos.mdb"
Data2.RecordSource = "tablaquedesees"
data1.recordset.movefirst
while not data1.recordset.eof
if LoQueBuscas = data1.recordset("CampoEnElQueBuscas") then
data2.recordset.addnew
data2.recordset("campo1") = dato
data2.recordset("campo2") = dato2
.
.
.
data2.recordset.update
goto salto
end if
Data1.recordset.movenext
Wend
Salto: 'esta es una etiqueta para que se salte hasta aquí
'cuando encuentre el dato a buscar
Con este procedimiento hace lo mismo pero más fácil.
El data1 es para hacer la búsqueda. Y el data2 es para que lo agregues a la tabla de la base de datos.
Espero que le hayas entendido, es muy fácil, como te digo y no necesitas que usar sql.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas