Visual Basic - URGENTE, Realizar una consulta a una Base de Dato

Life is soft - evento anual de software empresarial
 
Vista:

URGENTE, Realizar una consulta a una Base de Dato

Publicado por Rodrigo M. (5 intervenciones) el 10/10/2000 00:00:00
Hola.
Mi consulta es la siguiente, tengo una base de dato en access 97 cons tres tablas
lo que quiero hacer es a traves de controles DAo realizar una consulta,
como tendria que realizarla, a traves de los Recordset, porque trate con los recodset
pero no funciona.
Otra cosa, en algunos manuales que tengo dicen que los recordset pueden tener
todos los registros pero de una sola tabla ¿es cierto?
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

RE:URGENTE, Realizar una consulta a una Base de D

Publicado por Christian A. Valeria Celedón (207 intervenciones) el 11/10/2000 00:00:00
Para realizar una consulta a través de objetos Recordset debes generar una cadena SQL y utilizarla como parámetro al momento de abrir el Recordset. Por ejemplo:

sSQL = "SELECT Clientes.Nombre, Vendedores.Codigo, etc... FROM Clientes INNER JOIN Vendedores...etc, etc"

Luego, abres el Recordset de la siguiente forma:

Set BDD = OpenDatabase(Ruta de tu BD)
Set RST = BDD.OpenRecordset(sSQL, dbOpenDynaset)

Ahora puedes recorrer el Recordset así:

RST.MoveFirst
While Not RST.EOF
Debug.Print RST.Fields(0); RST.Fields(1); etc
RST.MoveNext
Wend

Y para finalizar, liberas la variable Recordset
Set RST = Nothing

Espero que esta respuesta te sea de ayuda y ten en cuenta que el código que te escribí anteriormente no lo probé, así que puede tener algún error sintáctico. Sin embargo, en lineas generales está correcto
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

RE:URGENTE, Realizar una consulta a una Base de D

Publicado por tecniCam (220 intervenciones) el 12/10/2000 00:00:00
Y, además, puedes "tirar" de todas las tablas 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

RE:URGENTE, Realizar una consulta a una Base de D

Publicado por Rodrigo M (5 intervenciones) el 14/10/2000 00:00:00
Gracias Funciono bien el codigo, tengo otra duda que es la siguiente

resulta que realizando un pequeño sistema
con ingreso, modificar y eliminar. Tengo tres tablas
PROPIEDAD, PROPIETARIO, ARREND .
Estoy trabajando con controles DAO. Como lo hago para ingresar los
datos en las tres tablas.

(text1 , es el rol de propiedad que se ingresa gunto con los otros
datos, pero con este rol se verifica en la tabla propietario si
esta asignado o no)

Set bd = OpenDatabase(ruta......)
d = "select * from personal where " _ (si le agregaba PROPIEDAD,ARREND
& "( personal.prut = ´" & Text1 & "´); "
Set esc = bd.OpenRecordset(d, dbOpenDynaset)

If escritura.RecordCount <> 0 Then
MsgBox (" existe")
Else
esc.AddNew
esc("prut") = Text1 ´ lo ingresa bien
esc("propiedad.calle")=text5 ´ ¿se puede hacer esto ...?
esc.Update
MsgBox ("YA ingreso")
End If
esc.Close

¿Como suluciono esto ?
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

RE:URGENTE, Realizar una consulta a una Base de D

Publicado por Christian A. Valeria Celedón (207 intervenciones) el 15/10/2000 00:00:00
Sinceramente, no entendí lo que estás preguntando. ¿Cuál es el error que has detectado en tu programa? ¿Guarda mal los datos o no los guarda? A qué te refieres con la pregunta: ¿Como lo soluciono?

Te sugeriría que publicaras el código completo (en especial la cadena SQL) y explicaras en forma más clara cual es el problema que te arroja para poder ayudarte.
Chao...
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

RE:URGENTE, Realizar una consulta a una Base de D

Publicado por Rodrigo M (5 intervenciones) el 15/10/2000 00:00:00
los recordset de la base dato y la esc los tengo en modulos, la base dato la abro en el
form_load

Dim d As String
d = "select * from propietario where rol = ´" & Text1 & "´ "
Set esc = bd.OpenRecordset(d, dbOpenDynaset)
If esc.RecordCount <> 0 Then
MsgBox ("Ya existe")
Else
esc.AddNew
esc("rol") = Text1
.......
esc.Update
MsgBox ("YA ingreso")
End If
esc.Close


Lo que necesito es saber como ingresar en barias tablas a la ves (tablas propietario,propiedad , arrend,
pero preguntando si existe el rol en la tabla propietario sino se ingresa todo en las
diferentes tablas. (estoy trabanjando la base de dato en Access 97)

¿Por casualidad se puede esto, ya que estoy provando de distintas maneras?

If esc.recordcount <> 0 then
....
else
esc.AddNew
esc("propietario.rol")=text1
esc("propiedad.estado")=text15
...
end if


Nota : si no logras comprender?? , podria enviatelo po E-Mail
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