Almacenar en Recordset valores de diferentes tablas

14/12/2012 - 09:53 por Toni | Informe spam
Buenas de nuevo!

Tengo la siguiente estructura:

PEDIDOS: IdPedido, IdCliente, ...
CLIENTES: IdCliente, ...

Des de un formulario continuo con datos de algunos PEDIDOS, pretendo recoger los datos de todos los registros de PEDIDOS mostrados en el formulario, i del registro de CLIENTES correspondiente a cada PEDIDO, i crear una consulta para poder luego trabajar con ella desde Word.

Se que puedo hacerlo con una consulta normal, pero mi reto està en hacerlo con Recordset, es posible?

Gracias

Preguntas similare

Leer las respuestas

#1 José Mª Fueyo
14/12/2012 - 10:06 | Informe spam
Hola
No se cual es tu problema. No hay problema de crear recordsets de forma dinámica.

Salu2
José Mª Fueyo
[MS MVP Access]
Respuesta Responder a este mensaje
#2 Toni
14/12/2012 - 10:30 | Informe spam
Sí, el caso és que no se encontrar en la web cómo hacerlo... :(

Puedes ponerme en la buena dirección?

El divendres 14 de desembre de 2012 10:06:26 UTC+1, José Mª Fueyo va escriure:
Hola

No se cual es tu problema. No hay problema de crear recordsets de forma dinámica.



Salu2


José Mª Fueyo

[MS MVP Access]
Respuesta Responder a este mensaje
#3 José Mª Fueyo
14/12/2012 - 12:09 | Informe spam
Hola
Crea una variable de tipo string, y asígnale el valor de una consulta SQL. Úsala como parámetro del método OpenRecordset del objeto database, para obtener un conjunto de registros.
Aquí encontrarás una referencia del lenguaje SQL para jet, aunque está indicado para Access 2000 es válido para versiones posteriores:

http://msdn.microsoft.com/en-us/lib...e/aa140011(v=office.10).aspx


Salu2
José Mª Fueyo
[MS MVP Access]
Respuesta Responder a este mensaje
#4 Toni
04/01/2013 - 10:13 | Informe spam
Gracias, José Mª

Finalmente, he optado por crear una tabla con SQL:


Dim strSQL As String
strSQL = "CREATE TABLE Acceptats (DataRegistre DATE, NumRegistre INTEGER," & _
" Percent INTEGER, Lloguer CURRENCY, NumMes BYTE, Total CURRENCY, NomPers TEXT(50))"

DoCmd.RunSQL (strSQL)

'Inserta registres

Set rst = Me.Recordset
rst.MoveFirst

Do Until rst.EOF = True

If rst!SiNoFavorable = "Sí" Then

strSQL = "INSERT INTO Acceptats (DataRegistre, NumRegistre, NumMes, Total, Lloguer, Percent,NomPers) VALUES ("

strSQL = strSQL & "#" & Format(rst!DataRegistre, "dd/mm/yyyy") & "#, "
strSQL = strSQL & rst!NumRegistre & ", "
strSQL = strSQL & rst!NumMesSubvencio & ", "
strSQL = strSQL & Str(rst!ImportTotalSubvencio) & ", "
strSQL = strSQL & Str(rst!ImportLloguer) & ", "
strSQL = strSQL & rst!PercentSubvencio & ","
strSQL = strSQL & Chr(34) & rst!Nom & Chr(34) & ")"

DoCmd.SetWarnings False
DoCmd.RunSQL (strSQL)
DoCmd.SetWarnings True

End If

rst.MoveNext
Loop



Todos los campos se insertan bien, menos el correspondiente a PERCENT. En el formulario el campo PERCENTSUBVENCIO lee los valores de una tabla PETICIONS, cuyo campo PERCENT tiene formato = NÚMERO>SIMPLE.

He probado a cambiar el formato del campo en la tabla, a cambiar el formato del campo en el SQL CREATE TABLE, y también diferentes combinaciones en el SQL INSERT (con comillas, con Str()...) però nada me ha funcionado.

Donde està el error?




El divendres 14 de desembre de 2012 12:09:31 UTC+1, José Mª Fueyo va escriure:
Hola

Crea una variable de tipo string, y asígnale el valor de una consulta SQL. Úsala como parámetro del método OpenRecordset del objeto database, para obtener un conjunto de registros.

Aquí encontrarás una referencia del lenguaje SQL para jet, aunque está indicado para Access 2000 es válido para versiones posteriores:



http://msdn.microsoft.com/en-us/lib...e/aa140011(v=office.10).aspx





Salu2


José Mª Fueyo

[MS MVP Access]
Respuesta Responder a este mensaje
#5 José Mª Fueyo
04/01/2013 - 13:03 | Informe spam
Hola
¿Que error te da?

Salu2
José Mª Fueyo
[MS MVP Access]
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida