Visual Basic - Necesito darle el valor de un dato en mi base de datos a una variable

Life is soft - evento anual de software empresarial
 
Vista:

Necesito darle el valor de un dato en mi base de datos a una variable

Publicado por Alan Gonzalez (1 intervención) el 01/11/2022 20:03:30
Hola necesito agregar un valor de mi base de datos a una variable lo que tengo es lo siguiente:


valor = "SELECT HoraH FROM Lunes WHERE Auto = " & texto
comando = New OleDbCommand(HoraH, cadena)

texto es un numero que yo escojo para identificar la fila de la base de datos
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
sin imagen de perfil
Val: 355
Bronce
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Necesito darle el valor de un dato en mi base de datos a una variable

Publicado por raul (160 intervenciones) el 05/11/2022 19:17:22
'Coloca esta funcion en un modulo para que la invoques desde cualquier parte

Public Function SCANDATA(Leter As String, Optional TVALUE As Boolean) As Variant 'Mecanismo de busqueda multivalues
Dim RS As Recordset: Set RS = New Recordset
RS.Open Leter, DTE.Connection1, adOpenDynamic, adLockReadOnly
If TVALUE = False Then
Select Case RS.Fields(0).Type
Case 202, 203, 129 'Valores tipo texto
SCANDATA = IIf(RS.RecordCount = 0, "", IIf(IsNull(RS!indicador) = True, "", Trim(RS!indicador)))
Case 3, 4, 5 'Valores tipo Numeros
SCANDATA = IIf(RS.RecordCount = 0, 0, IIf(IsNull(RS!indicador) = True, 0, RS!indicador))
Case 135 'Valores tipo Fecha
SCANDATA = IIf(RS.RecordCount = 0, "01/01/1900", IIf(IsNull(RS!indicador) = True, "01/01/1900", RS!indicador))
Case 11 'valores boleano
SCANDATA = IIf(RS.RecordCount = 0, 0, IIf(IsNull(RS!indicador) = True, 0, RS!indicador))
End Select
Else
SCANDATA = IIf(RS.RecordCount > 0, True, False)
End If
Set RS = Nothing
End Function


'Para usarla
dim VALOR as VARIANT

VALOR = scandata("SELECT HoraH as indicador FROM Lunes WHERE Auto = " & texto)

Esta función busca un dato a la vez es una database.

1- A la función debes pasarle la secuencia SQL que quieres que busque
2- El nombre del campo en cuestion debe ser declarado como el nombre indicador o sea 'NAMEFIELDS as indicador'. Si el valor no existe entonces la función debuelve un valor acorde al tipo de datos.

Cadena vacia para los textos
Cero para los numericos
#01/01/1900# para las fecha
False para los voleanos

Ahora si lo que quieres es averiguar si un valor existe entonces el uso correcto seria
VALOR = scandata("SELECT HoraH as indicador FROM Lunes WHERE Auto = " & texto, true) en cuyo caso solo debolvera TRUE si existe

por ejemplo
if scandata("SELECT HoraH as indicador FROM Lunes WHERE Auto = " & texto, true) = true then
msgbox"OK"
end if

por ultimo la cadena de coneción que se empleo es el dataenvironmes 'DTE.Connection1' no obstante emplea la que quieras
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