Home > Foro de Access >

Debates de Access > Cual es el problema con la consulta?.. Podria ayudarme

Cual es el problema con la consulta?.. Podria ayudarme

gabriel
Chinandega, Nicaragua
Escrito por Gabriel Moreno el 3 de Noviembre

Tengo una tabla en donde quisiera actualizar un campo llamado estatus tipo checkbox... En access la consulta pues es sencilla y pido como parametro el valor de un textbox llanado T-consec_p ubicado en un sub_formulario.... Sin embargo cuando quiero adecuarla a DAO la consulta me dice too few parameters, expert 2... Si usted pudiera ayudarme con mi problemita se lo agradeceria mucho

el codigo es el siguiente

Sub actualiza_plan()
Dim rst As DAO. Recordset
Dim strSql As String
Dim asignado As Boolean
strSql = "SELECT consecutivo_p,estatus FROM plan_manto WHERE (consecutivo_p = Forms! Add_ot_equipos! Tareas1! T-consec_p))"
Set rst = CurrentDb. OpenRecordset(strSql, dbOpenDynaset)
rst. Edit
asignado = rst! Estatus
If asignado = 0 Then
DoCmd. SetWarnings
False DoCmd. RunSQL "UPDATE cuenta_plan SET cuenta_plan. Estatus = 1"
rst. Update
Else DoCmd. RunSQL "UPDATE cuenta_plan SET cuenta_plan. Estatus = 0" rst. Update DoCmd. SetWarnings True
End If
rst. Close End Sub


Ver mensaje      

Juan Cots Santiago
Valencia, España
Escrito por Juan Cots Santiago el 3 de Noviembre

Hola Gabriel.
La sintaxis para los subformularios es un poco diferente, además como lo que quieres obtener es un valor variable no puedes ponerlo dentro de la cadena SQL, porque sino Access lo va a interpretar como literal.... Por tanto sería algo así (creo)....
strSql = "SELECT consecutivo_p,estatus FROM plan_manto WHERE consecutivo_p = " & Forms! Add_ot_equipos! Tareas1. Form! [T-consec_p]

Veamos los cambios:

1. - Cocatenamos el valor del texto de la consulta, con el variable que obtendremos del subformulario.

2. - La sintaxis para hacer referencia al subformulario es:
Forms! NombreFormulario! NombreSubformulario. Form! NombreCampo

3. - El campo T-consec_p lo encierro entre corchetes porque Access (al igual que le sucede con los espacios) cuando ve en una variable un guión medio lo más posible es que lo identifique como el simbolo para restar y se produzca un error. Los guiones bajos los interpreta correctamente

Un saludo


Ver mensaje     

Gabriel Moreno
Chinandega, Nicaragua
Escrito por Gabriel Moreno el 3 de Noviembre

Gracias don Juan, ya no tengo problemas con la Query... Su correccion esta correcta, ahora el problema esta en que no cambia el estado del campo estatus cuando busco como actualizar el registro... Y mas bien me manda a pedir el valor de estatus al estilo de parametro en una query... Y despues dice "operation must us a uptateable query... Que problema tengo con estas instrucciones
Set rst = CurrentDb. OpenRecordset(strSql, dbOpenDynaset)
rst. Edit
asignado = rst! Estatus
If asignado = 0 Then
DoCmd. SetWarnings
False DoCmd. RunSQL "UPDATE cuenta_plan SET cuenta_plan. Estatus = 1"
rst. Update
Else DoCmd. RunSQL "UPDATE cuenta_plan SET cuenta_plan. Estatus = 0" rst. Update DoCmd. SetWarnings True
End If
rst. Close End Sub


Ver mensaje     

Juan Cots Santiago
Valencia, España
Escrito por Juan Cots Santiago el 3 de Noviembre

Hola otra vez.

Bueno... Yo entiendo que lo que quieres es.... Si es Falso ponerlo a Verdadero, por tanto los valores posibles son: 0 y -1.

Set rst = CurrentDb. OpenRecordset(strSql, dbOpenDynaset)
rst. Edit
If rst! Estatus = 0 Then
rst! Estatus = -1
End If
rst. Update
rst. Close
Set rst = Nothing
End Sub

Igual no lo he entendido bien. Si es así, explícamelo mejor
Un saludo


Ver mensaje     

Gabriel Moreno
Chinandega, Nicaragua
Escrito por Gabriel Moreno el 3 de Noviembre

Graaaaaciaas nuevamente don Juan, es usted lo maximo... Nuevamente sus orientaciones eran las precisas..... En si lo que queria hacer es que desde un formulario donde asigno el valor de consecutivo_p, poder actualizar el estado de estatus directamente en la tabla... Es por eso que en la consulta hago referencia a ambos valores.... Ya quedo... Le agradezco por sus prontas orientaciones.. Es usted muy amable.... Gracias nuevamente


Ver mensaje     
 
Páginas internacionales: España  |  Italia  |  Francia  |  México  |  Alemania  |  Reino Unido  |  Argentina  |  Chile  |  Colombia  |  USA

Búsquedas frecuentes: atismatismo problemas de semejanza afta obras de teatro actuales partes del escenario

Emagister cumple la Ley Orgánica 15/1999 de 13 de diciembre, de Protección de datos de Carácter Personal, y posee el código de inscripción nº 2002010053 del Registro General de la Agencia de Protección de Datos. Copyright © 1999/2000 - Grupo Intercom - Todos los derechos