Consulta SQL

15/05/2006 - 22:07 por Fabian | Informe spam
Hola a todos!
Estoy tratando de hacer una consulta "Existe" "No Exixte" o "Verdadero"
"Falso"
En la base de datos tengo un campo NRegistro que NO es el numero de
registro que le asigna la base de access.
Este numero me sirve para encontrar registros, y hacerles cambios a los
campos.
Necesitaria buscar un numero determinado de registro (Reg) y que me devuelva
si existe o no existe, luego asi:
El codigo que escribi ya falla en la consulta. Gracias.
Si no existe el numero entonces
Ir a rutina de carga
Sino
Ir a rutina de actualizacion
Fin

Private Sub Test()
Dim Cnn As ADODB.Connection
Dim Rst As ADODB.Recordset
Dim Reg As Long
Dim Ruta As String
Dim Existe as Boolean
Reg = Hoja1.Cells(ActiveCell.Row, 13)
Ruta = ThisWorkbook.Path

Set Cnn = New ADODB.Connection
With Cnn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=" & Ruta & "\BaseViajes.mdb"
.Open
End With
Set Rst = New ADODB.Recordset
Rst.Open "SELECT NRegistro FROM Viajes WHERE NRegistro = '" & Reg & "'",
Cnn, , , adCmdText

'El campo NRegistro es Long en la base de datos.

if Rst="" then Existe=False: Else Existe=True

End Sub
 

Leer las respuestas

#1 Héctor Miguel
16/05/2006 - 10:45 | Informe spam
hola, Fabian !

comentas que el codigo que usas... 'ya falla en la consulta' [pero no indicas que error obtienes] -?-
prueba despues de abrir la BD, ejecutar la consulta y establecer tu recordset...
a devolver tu variable 'Existe As Boolean' con algo +/- como lo siguiente:

Existe = Rst.RecordCount > 0

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

__ la consulta original __
Estoy tratando de hacer una consulta "Existe" "No Exixte" o "Verdadero" "Falso"
En la base de datos tengo un campo NRegistro que NO es el numero de registro que le asigna la base de access.
Este numero me sirve para encontrar registros, y hacerles cambios a los campos.
Necesitaria buscar un numero determinado de registro (Reg) y que me devuelva si existe o no existe, luego asi:
El codigo que escribi ya falla en la consulta.
Si no existe el numero entonces
Ir a rutina de carga
Sino
Ir a rutina de actualizacion
Fin
Private Sub Test()
Dim Cnn As ADODB.Connection
Dim Rst As ADODB.Recordset
Dim Reg As Long
Dim Ruta As String
Dim Existe as Boolean
Reg = Hoja1.Cells(ActiveCell.Row, 13)
Ruta = ThisWorkbook.Path
Set Cnn = New ADODB.Connection
With Cnn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=" & Ruta & "\BaseViajes.mdb"
.Open
End With
Set Rst = New ADODB.Recordset
Rst.Open "SELECT NRegistro FROM Viajes WHERE NRegistro = '" & Reg & "'",
Cnn, , , adCmdText
'El campo NRegistro es Long en la base de datos.
if Rst="" then Existe=False: Else Existe=True
End Sub

Preguntas similares