Autor Tema: cargar datos en un textbox  (Leído 26172 veces)

0 Usuarios y 1 Visitante están viendo este tema.

gasafonso

  • Megabyte
  • ***
  • Mensajes: 175
  • Reputación: +4/-10
    • Ver Perfil
cargar datos en un textbox
« en: Septiembre 08, 2014, 03:56:15 pm »
hola, tengo una SQL que es esta


Código: (VB) [Seleccionar]
SELECT tbclientes.Codigo, tbclientes.Direccion, tbclientes.Nombre, tbclientes.telefono,tbclientes.mail,
tbPlanVacunacion.NombreVac, tbPlanVacunacion.ProxVacuna, tbPlanVacunacion.FechaProxVac, tbPlanVacunacion.CodCliente, tbPlanVacunacion.CodMascota, tbmascotas.codmascota, tbmascotas.nombremascota FROM tbPlanVacunacion, tbclientes, tbmascotas WHERE   tbPlanVacunacion.CodCliente = tbclientes.Codigo AND tbplanvacunacion.codmascota = tbmascotas.codmascota AND fechaproxvac = ? and fallecido <>-1

y quiero cargar el resultado en un textbox , separado por ";" cada uno



gracuiassssssssssssss

Albertomi

  • Gigabyte
  • ****
  • Mensajes: 281
  • Reputación: +153/-0
    • Ver Perfil
Re:cargar datos en un textbox
« Respuesta #1 en: Septiembre 08, 2014, 05:37:27 pm »
Estimado gasafonso

Realiza la siguiente modificación (he adicionado AS) a tu query SQL, ya que hay dos campos con el mismo nombre:
Código: [Seleccionar]
SELECT tbclientes.Codigo, tbclientes.Direccion, tbclientes.Nombre, tbclientes.telefono,tbclientes.mail,
               tbPlanVacunacion.NombreVac, tbPlanVacunacion.ProxVacuna, tbPlanVacunacion.FechaProxVac, tbPlanVacunacion.CodCliente,
               tbPlanVacunacion.CodMascota AS CodMascota1, tbmascotas.codmascota AS CodMascota2, tbmascotas.nombremascota
FROM tbPlanVacunacion, tbclientes, tbmascotas
WHERE tbPlanVacunacion.CodCliente = tbclientes.Codigo AND
               tbplanvacunacion.codmascota = tbmascotas.codmascota AND
               fechaproxvac = ? and fallecido <>-1

 
Luego de ejecutar el query tú recordset va tener el resulset (datos resultantes del query) y sobre el aplica lo siguiente:
Código: [Seleccionar]
TextBox.Text = rstRecordSet.Fields("Codigo") & ";" & rstRecordSet.Fields("Direccion") & ";" & rstRecordSet.Fields("Nombre") & ";" & _
               rstRecordSet.Fields("telefono") & ";" & rstRecordSet.Fields("mail") & ";" & rstRecordSet.Fields("NombreVac") & ";" & _
               rstRecordSet.Fields("ProxVacuna") & ";" & rstRecordSet.Fields("FechaProxVaco") & ";" & rstRecordSet.Fields("CodCliente") & ";" & _
               rstRecordSet.Fields("CodMascota1") & ";" & rstRecordSet.Fields("CodMascota2") & ";" & rstRecordSet.Fields("nombremascota")

 
 
Saludos desde algún lugar de Lima-Perú
Saludos, desde algún lugar de Lima-Perú

gasafonso

  • Megabyte
  • ***
  • Mensajes: 175
  • Reputación: +4/-10
    • Ver Perfil
Re:cargar datos en un textbox
« Respuesta #2 en: Septiembre 09, 2014, 11:13:52 am »
Muchas gracias Albertomi, pero solo debo cargar la direccion de mail de cada cliente en el textbox, por que es para mandar mails

Tal vez me explique mal


gracias

Albertomi

  • Gigabyte
  • ****
  • Mensajes: 281
  • Reputación: +153/-0
    • Ver Perfil
Re:cargar datos en un textbox
« Respuesta #3 en: Septiembre 09, 2014, 12:51:58 pm »
Estimado gasafonso
 
En el recordset en el que se retorna el resulset de tú query, aplica esl siguiente código
 
Código: [Seleccionar]
Dim strEmails As String

strEmails = vbNullString
 
'Nos movemos al primer registro (Esto no es 100% necesario).
rstRecordSet.MoveFirst
 
'Itera el recordset
Do While Not rstRecordSet.EOF
  ' Concatena email
  If Len(rstRecordSet.Fields("mail").Value) > 0 Then
    strEmails = strEmails & rstRecordSet.Fields("mail").Value & ";"
  End If
 
  'Nos movemos al siguiente registro.
  rstRecordSet.MoveNext
Loop
 
'Cerramos el recordset (Quizás para tú aplicación no necesites cerrar el recordset en este punto)
rstRecordSet.Close
 
'Asigna al TextBox los email separados por ";"
TextBox.Text = strEmails

Saludos, desde algún lugar de Lima-Perú
Saludos, desde algún lugar de Lima-Perú

gasafonso

  • Megabyte
  • ***
  • Mensajes: 175
  • Reputación: +4/-10
    • Ver Perfil
Re:cargar datos en un textbox
« Respuesta #4 en: Septiembre 09, 2014, 01:21:59 pm »
EXCELENTEEEEEEEEEEEEEE  ALBERTOMI, ahora te cuento esa SQL la tengo en un DATAEnviroment que se carga al inicio del sistema

Estoy un poco confundido de que hacer


Desde ya muchas GRacias !!!!!!!!!!!

Waldo

  • Gigabyte
  • ****
  • Mensajes: 264
  • Reputación: +22/-0
    • Ver Perfil
Re:cargar datos en un textbox
« Respuesta #5 en: Septiembre 09, 2014, 01:48:03 pm »
uhhh... viene para largo esto  ;D
No se si seré medio cabezón, pero nunca me gustaron los DataControl, DataEnviroment, y todos los Data de Microsoft. Siempre prefiero abrir el Rs, Cnn, etc a manopla

gasafonso

  • Megabyte
  • ***
  • Mensajes: 175
  • Reputación: +4/-10
    • Ver Perfil
Re:cargar datos en un textbox
« Respuesta #6 en: Septiembre 09, 2014, 01:51:08 pm »
Si estoy queriendo pasarme a lo mismo.

Vos como lo harias con tu forma WALDO?

gasafonso

  • Megabyte
  • ***
  • Mensajes: 175
  • Reputación: +4/-10
    • Ver Perfil
Re:cargar datos en un textbox
« Respuesta #7 en: Septiembre 10, 2014, 08:50:44 pm »
Albertomi, necesito de tu ayuda ya que no me quedo del todo claro,  yo tengo la sql aca



No se que recordset es el que se retorna


Saludos


YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:cargar datos en un textbox
« Respuesta #8 en: Septiembre 10, 2014, 09:07:44 pm »
Asu, cuantos años de no ver el recordado DataEnvironment. Pues bueno tu recordset es ese: VacunasPendientes.

Lo ejecutas asi:
Código: (VB) [Seleccionar]
If DsrListado.rsVacunasPendientes.State Then DsrListado.rsVacunasPendientes.Close
DsrListado.VacunasPendientes

Mucho ojo donde pones el prefijo "rs", cuando lo ejecutas no lo pones (segunda linea), pero si cuando lo lees.

La primera linea del codigo de arriba es para cerrarlo por si anteriormente lo hubieras abierto.
La segunda linea de ese codigo ejecuta la consulta sin parámetros, si tuvieres en tu select un Where ALGO = ? entonces le aumentas a DsrListado.VacunasPendientes Dato.

Para leer el contenido de ese recordset:
TuVariable = DsrListado.rsVacunasPendientes.Fields("TuCampo")

Naturalmente tienes que navegar por el rs para obtener el registro que quieres. Recuerda que para recorrerlo usas: DsrListado.rsVacunasPendientes.MoveNext
Ahora si quieres poblar un control solo conectas el recordset al control como usualmente lo haces en codigo directo.


Saludos

« última modificación: Septiembre 10, 2014, 09:12:26 pm por YAcosta »
Me encuentras en YAcosta.com

gasafonso

  • Megabyte
  • ***
  • Mensajes: 175
  • Reputación: +4/-10
    • Ver Perfil
Re:cargar datos en un textbox
« Respuesta #9 en: Septiembre 11, 2014, 09:47:21 am »
Hola amigooooo YACosta, gracias por tu dedicaccion como siempre

Ahora bien, como se haria conlo que me mando ALbertomi

Código: (VB) [Seleccionar]
Dim strEmails As String

strEmails = vbNullString
 
'Nos movemos al primer registro (Esto no es 100% necesario).
rstRecordSet.MoveFirst
 
'Itera el recordset
Do While Not rstRecordSet.EOF
  ' Concatena email
  If Len(rstRecordSet.Fields("mail").Value) > 0 Then
    strEmails = strEmails & rstRecordSet.Fields("mail").Value & ";"
  End If
 
  'Nos movemos al siguiente registro.
  rstRecordSet.MoveNext
Loop
 
'Cerramos el recordset (Quizás para tú aplicación no necesites cerrar el recordset en este punto)
rstRecordSet.Close
 
'Asigna al TextBox los email separados por ";"
TextBox.Text = strEmails

Asu, cuantos años de no ver el recordado DataEnvironment. Pues bueno tu recordset es ese: VacunasPendientes.

Lo ejecutas asi:
Código: (VB) [Seleccionar]
If DsrListado.rsVacunasPendientes.State Then DsrListado.rsVacunasPendientes.Close
DsrListado.VacunasPendientes

Mucho ojo donde pones el prefijo "rs", cuando lo ejecutas no lo pones (segunda linea), pero si cuando lo lees.

La primera linea del codigo de arriba es para cerrarlo por si anteriormente lo hubieras abierto.
La segunda linea de ese codigo ejecuta la consulta sin parámetros, si tuvieres en tu select un Where ALGO = ? entonces le aumentas a DsrListado.VacunasPendientes Dato.

Para leer el contenido de ese recordset:
TuVariable = DsrListado.rsVacunasPendientes.Fields("TuCampo")

Naturalmente tienes que navegar por el rs para obtener el registro que quieres. Recuerda que para recorrerlo usas: DsrListado.rsVacunasPendientes.MoveNext
Ahora si quieres poblar un control solo conectas el recordset al control como usualmente lo haces en codigo directo.


Saludos

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:cargar datos en un textbox
« Respuesta #10 en: Septiembre 11, 2014, 12:00:17 pm »
No recuerdo bien pero creo que no es necesario el .Value
Solo asi

Código: (VB) [Seleccionar]
 
...
If Len(rstRecordSet.Fields("mail").Value) > 0 Then
   strEmails = strEmails & rstRecordSet.Fields("mail") & ";"
End If
...
Me encuentras en YAcosta.com

gasafonso

  • Megabyte
  • ***
  • Mensajes: 175
  • Reputación: +4/-10
    • Ver Perfil
Re:cargar datos en un textbox
« Respuesta #11 en: Septiembre 11, 2014, 06:01:24 pm »
me da este error amigo YAcosta









garcias

gasafonso

  • Megabyte
  • ***
  • Mensajes: 175
  • Reputación: +4/-10
    • Ver Perfil
Re:cargar datos en un textbox
« Respuesta #12 en: Septiembre 11, 2014, 06:25:16 pm »
Ya lo solucione amigo YAcosta , ahora bien como puedo hacer para que una vez que se envie el mail no se vuelva a repetir en el dia , se puede guardar un archivo de texto( ini) o algo asi que me guarde ese dato, esto es para no repetir los mails



graciass

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:cargar datos en un textbox
« Respuesta #13 en: Septiembre 11, 2014, 08:04:34 pm »
No te recomiendo un archivo de texto ya que estas usando base de datos.

Te sugiero que te crees una tabla para que alli controles los emails enviados.

La tabla deberia tener el id del cliente y la fecha.

Cuando tengas la confirmacion de email enviado grabas un registro con el id de cliente y la fecha. La siguiente vez deberas preguntar primero si existe el cliente y la fecha en dicha tabla, si es NO procedes al envio, si es SI no lo envias.

Al final del dia puedes hacer un delete a esa tabla para tenerla limpia para el dia siguiente.

Saludos
Me encuentras en YAcosta.com

gasafonso

  • Megabyte
  • ***
  • Mensajes: 175
  • Reputación: +4/-10
    • Ver Perfil
Re:cargar datos en un textbox
« Respuesta #14 en: Septiembre 11, 2014, 10:24:58 pm »
Me quedo super claro amigo Yacosta, ahora bien , tengo otra duda

Si mi modulo para mandar mails es un .exe ( el cual tengo yo el codigo fuente) y quiero cargarle todas las direcciones de mails antes de llamar al .exe,  como lo harias ?


gracias SAludos