Consulta desde al hacer click

Sql = "select ERPB_Comprometido from comprometidos where EMAE_Interno = '" & A & "' and ANO_ID = YEAR(GETDATE())) AND (MES_ID = MONTH(GETDATE())) "
Junto consaludarte quisiera saber si me puedes ayudar es que tengo que generar una consulta que me conpare el compo EMAE_Interno con el valor de A ( A obtiene el valor de otra consulta que se ejecuta bien pero no se porque pero no me lee el valor que queda en A ademas también tiene que aceptar los criterios indicados hay como el año año actual y el mes y mostrar el contenido de ERPB_Comprometido, en el sql ya lo tengo listo pero no en la página que al ingresar el valor en el textbox me consulte lo que ya t explique por tu ayuda gracias
Respuesta
1
A ver si te entiendo porque te has explicado mal...
¿La consulta te funciona cuando la corres verdad? Pero no sabes como hacer para que cuando ingreses un valor en un textbox se genere la consulta automáticamente.. ¿es así?
¿En qué lenguaje de programación?
Sql = "select ERPB_Comprometido from comprometidos where EMAE_Interno = '" & A & "' and ANO_ID = YEAR(GETDATE())) AND (MES_ID = MONTH(GETDATE())) "
Junto consaludarte quisiera saber si me puedes ayudar es que tengo que generar una consulta que me conpare el compo EMAE_Interno con el valor de A ( A obtiene el valor de otra consulta que se ejecuta bien pero no se porque pero no me lee el valor que queda en A ademas también tiene que aceptar los criterios indicados hay como el año año actual y el mes y mostrar el contenido de ERPB_Comprometido, en el sql ya lo tengo listo pero no en la página que al ingresar el valor en el textbox me consulte lo que ya t explique por tu ayuda gracias
Si me funciona lo único es que no me muestra el contenido de ERPB_Comprometido porque hay más de un registro del mismo código por eso quiero colocar que muestre la fecha más adtual del regustro ingresado lo estoy programando en asp.net
Entonces no te funciona, si te funcionara te mostraría el resultado, pero no te funciona.
Prueba borrando la parte del "A" para ver si te muestra solo los registros de este mes.
No fe funciona tampoco ahora pero esto es lo que tengo aver si algo esta mal
rotected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Sql = "SELECT ID_Producto FROM productos WHERE codigo_prod= '" & TextBox1.Text & "'"
If Me.General.Execute(Sql, Res) Then
If Res.HasRows Then
While Res.Read
TextBox2.Text = Res!ID_Producto
A = TextBox2.Text
End While
Res.Close()
End If
End If
'MGB405
Sql = "select ERPB_Comprometido from comprometidos where EMAE_Interno = '" & A & " '" and ANO_ID = YEAR(GETDATE())) AND (MES_ID = MONTH(GETDATE())) "
If Me.General.Execute(Sql, red) Then
If red.HasRows Then
While red.Read
TextBox3.Text = red!ERPB_Comprometido
End While
red.Close()
End If
End If
End Sub
Es explicitamente el texto debe ser &A&? O te estas refiriendo al texto que tenga en el medio la letra A, es decir, que la letra A debe estar en medio de 2 letras como poer ejemplo
iAj, uAu, mAn...
Porque si es así, la consulta es like="%A%", no como la has puesto tu...
Y otra cosa, yo no se nada de C#, soy java...
No me explique bien A se supone que captura el valor que muestra el Textbox2 en la consulta anterior por ese motivo lo compara con el EMAE_Interno en la segundo consulta
Lo que tiene que hacer este código en primera parte es ingresar en textbox1 un código de producto si lo encuentro muestra el ID_Producto en el textbox2
Por ejemplo
Ingreso el código mgb405 y me muestra 1749
Al obtener el id_producto este se compara con EMAE_Interno y si es = que muestra lo que tiene ERPB_Comprometido filtrándolo por la fecha mas actual
Es que en tu consulta SQL no estas filtrando por fecha, estas buscando uno que se llame mgb405 y que tenga como fecha el este año y este mes, es es lo que dice tu consulta, por eso que no te va a mostrar ningún resultado.
Borra toda la parte de la fecha, quedaría así
Sql = "select ERPB_Comprometido from comprometidos where EMAE_Interno = '" & A & "' and order by ANO_ID desc
Ahora te va a mostrar todos los registros que se llamen mgb405 (siguiendo tu ejemplo) ordenados en forma descendente, es decir desde la fecha más reciente hasta la fecha más antigua.
Solo debes tomar la primera fila y sacar el id y mostrarlo en tu segundo textbox
No me muestra nada en el textbox3, es algo parecido a esto
SELECT renovacionI.dbo.LOGERPB.EMAE_Interno, renovacionI.dbo.LOGERPB.ERPB_Comprometido, renovacionI.dbo.LOGERPB.ANO_ID,
renovacionI.dbo.LOGERPB.MES_ID
FROM renovacionI.dbo.LOGERPB INNER JOIN
dbo.Productos ON CONVERT(NVARCHAR(20), renovacionI.dbo.LOGERPB.EMAE_Interno) = dbo.Productos.Codigo_Prod
WHERE (renovacionI.dbo.LOGERPB.ANO_ID = YEAR(GETDATE())) AND (renovacionI.dbo.LOGERPB.MES_ID = MONTH(GETDATE()))
Con la diferencia que se ingresa por teclado el código y muestra solo el registro que sea = a lo que contenga el textbox2 y que la fecha actual y muestre en el textbox3 lo que hay en campo ERPB_Comprometid
No se si me explique mejor
Lamento no poder ayudarte, ya que YO NO SE C#, en mi descripción de experto de programación dice bien claro JAVA, te puedo ayudar en tu consulta SQL, que es común entre los 2, pero no de C#, y como te digo, el error ya esta resuelto puesto que tu consulta estaba mal hecha.
Con respecto a como lo tomes en tus objetos de programación, no puedo ayudarte.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas