RunSQL

Mi problema es que estoy haciendo un sistemita en access tengo una tabla llamada productos, otras llamada ventas, cuando estoy ingresando un registro en la tabla ventas yo quiero hacer que le precio al publico del producto aparezca en el formulario de ventas, para hacerlo hice en código tome la opción runSQL pero me dice que una acción ejecutarSQL necesita un parámetro sql y yo se lo estoy enviando, no se si esta es la mejor forma de buscar el precio o podría haber otra.
Respuesta
1
Lo primero, indicarte que "DoCmd.RunSQL Sentencia" unicamente se puede utilizar para sentencias de ejecución; es decir, sólo para INSERT´s, DELETE´s, UPDATE´s, ..., pero no para SELECT. Pare utilizar un SELECT de esta forma deberías hacer uso de punteros, cosa que es algo complicada y que además no hace falta con lo que te explico a continuación:
- Para recuperar un dato de un campo de un tabla puedes utilizar lo siguiente:
DMin ("NombreDelCampo", "NombreDeLaTabla", "Condiciones")
Si, por ejemplo, queremos recuperar el campo [Precio] de la tabla [Ventas] del artículo cuyo campo de código de articulo [CodArticulo] sea 15545, deberías utilizar:
DMin ("Precio", "Ventas", "CodArticulo = 15545")
Otro ejemplo puede ser el anterior, pero en lugar de ser el código de articulo 15545, que lo coja por ejemplo de una caja de texto [TxtCodArticulo]:
DMin ("Precio", "Ventas", "CodArticulo = " & TxtCodArticulo.Text)
Por último, indicarte que DMin te recupera el valor mínimo del campo que le indiques de la tabla que también especifiques y de los registros que cumplan las condiciones que pongas. Si la condición que pones hace referencia a un único registro (que es lo que al fin y al cabo tienes) te devolverá el valor mínimo de ese único registro; es decir, el dato que tu quieres. También existe el DMax que funciona igual pero sacando el máximo... Hay que hacerlo con uno de estos dos, ya que Access no tiene opción así de directa de recuperar un valor concreto, sino sólo Min o Max.
Espero que esto solucione tu problema. Si tienes alguna consulta al respoecto no dudes en contactar conmigo de nuevo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas