Autor Tema: ¿Como haría un botón que busque y otro que guarde datos? - AYUDA  (Leído 5591 veces)

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

capoeira

  • Bit
  • Mensajes: 6
  • Reputación: +0/-0
    • Ver Perfil
Hola foreros, he publicado mi problema en varios foros, pero poco éxito he tenido en las contestaciones, haber si alguien me puede ayudar
le estaria eternamente agradecido ya que es algo que me haría mejorar en mi trabajo y seria ganar unos cuantos puntos.

Tengo una base de datos en oracle, con una tabla que se llama "EXPEDICION" y esta tabla tiene 3 campos (codigobulto, agencia, division)

Me gustaría que me explicaran como podría hacer para que al escribir en un textbox asociado al campo codigobulto y pulsar en un botón (buscar) me busque la fila que en el campo codigobulto = texbox.text y me mustre los otros 2 campos (agencia y division), y que cuando le de a otro botón guarde los cambios.

Hasta ahora solo he sabido hacer que muevan los registros a través de unos botones.

Os adjunto código

¡¡¡Muchas gracias de antemano!!

Código: [Seleccionar]
Imports System.Data
Imports System.Data.OracleClient

Public Class Form1
Dim tabla As DataTable
Dim DataA As OracleDataAdapter
Dim Fila As Short = 0


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim CadenaConexion As String = "Data Source=ORCL;User Id=ORCL;Password=ORCL;"
Dim Conexion As OracleConnection = New OracleConnection(CadenaConexion)
DataA = New OracleDataAdapter("SELECT * FROM EXPEDICION", Conexion)

tabla = New DataTable
' Llenar la tabla con los datos indicados
DataA.Fill(tabla)

' Si se encontraron registros...

End Sub

Private Sub btnAnterior_Click() Handles btnAnterior.Click
If Fila > 0 Then
Fila = Fila - 1
MostrarDatos(Fila)
Else
MsgBox("No se puede ir al registro anterior. Este es el primer registro")
End If
End Sub

Private Sub btnSiguiente_Click() Handles btnSiguiente.Click
If Fila < (tabla.Rows.Count - 1) Then
Fila = Fila + 1
MostrarDatos(Fila)
Else
MsgBox("No se puede ir al registro siguiente. Este es el último registro")
End If
End Sub

Private Sub btnPrimero_Click() Handles btnPrimero.Click

Fila = 0

MostrarDatos(Fila)

End Sub

Private Sub btnUltimo_Click() Handles btnUltimo.Click

Fila = tabla.Rows.Count - 1

MostrarDatos(Fila)

End Sub

Private Sub MostrarDatos(ByVal f As Short)
TextBox1.Text = tabla.Rows(f)("codigobulto").ToString

TextBox2.Text = tabla.Rows(f)("division").ToString

TextBox3.Text = tabla.Rows(f)("agencia").ToString
End Sub

End Class

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:¿Como haría un botón que busque y otro que guarde datos? - AYUDA
« Respuesta #1 en: Agosto 07, 2010, 12:07:24 pm »
Me parece que solo estas usando ADO. Si te interesa te puedo ayudar como consulta SQL, cono ADO solamente no trabajo mucho.
Me encuentras en YAcosta.com

capoeira

  • Bit
  • Mensajes: 6
  • Reputación: +0/-0
    • Ver Perfil
Re:¿Como haría un botón que busque y otro que guarde datos? - AYUDA
« Respuesta #2 en: Agosto 07, 2010, 04:14:49 pm »
Ante todo agradecerte tu contestacion, me da igual como hacerlo, si por ADO o por SQL.

Por favor ayudame, llevo muchos años sin manejar Visual Basic y el ponerme ahora despues de 12 años me esta constando.

Muchas Gracias de antemano

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:¿Como haría un botón que busque y otro que guarde datos? - AYUDA
« Respuesta #3 en: Agosto 07, 2010, 05:38:43 pm »
Siendo los siguiente controles
txCodigoBulto = para buscar el codigobulto
txAgencia = para la agencia
txDivision = para la division
lbCodigoBulto = para el codigo hallado
cmdModificar = para modificar los datos

Para buscar:
Código: (vb) [Seleccionar]
Dim rs As New ADODB.Recordset
sql = "Select agencia, division From EXPEDICION WHERE codigobulto = " & _
Trim(txCodigoBulto) 'nunca falta un chistoso que meta un espacio demas, por eso el Trim.
rs.Open sql, dB, 1, 1

If rs.RecordCount > 0 Then
   LbCodigoBulto = Trim(txCodigoBulto)
   txAgencia = rs.fields("agencia")
   txDivision = rs.fields("division")
End If

Para modificar, pones dentro del control cmdModificar

Código: (vb) [Seleccionar]
sql = "Update EXPEDICION Set agencia = '" & txAgencia & "', division = '" & txDivision & _
"' Where codigobulto = " & lbCodigoBulto
dB.Execute sql, , adCmdText

Algunas observaciones.
1.- Me salto la parte de la conexión porque presumo ya la tienes y que debe estar en el main o en un módulo.
2.- Este es un código que deberás afinar para Oracle, no se que exquisitez tenga Oracle con respecto a su script, pero creo que debe funcionar.
3.- Los campos codigobulto, agencia y division no se que tipo de datos son, asumo que codigobulto es numérico y los otros texto o varchar, sino lo fueran quita las comillas simples según sea el caso.
4.- Te pongo un lbCodigoBulto para que solo modifique los otros dos en base a lo que se encontró.

Espero te sirva
« última modificación: Agosto 08, 2010, 08:57:38 pm por YvanB »
Me encuentras en YAcosta.com

capoeira

  • Bit
  • Mensajes: 6
  • Reputación: +0/-0
    • Ver Perfil
Re:¿Como haría un botón que busque y otro que guarde datos? - AYUDA
« Respuesta #4 en: Agosto 07, 2010, 08:09:54 pm »
Agradecerte tu ayuda, te comento los fallos que me da en buscar:

1º En la linea
Código: [Seleccionar]
Sql = "Select agencia, divi.... me subralla la palabra SQL y me dice Visual que 'System.Data.SQL' es un espacio de nombre y no se puede utilizar como una expresion.

Código: [Seleccionar]
dB dB No se declara el nombre ¿deduzco que hay tengo que poner el nombre de la conexion, en mi caso 'CadenaConexion'?

3º en los
Código: [Seleccionar]
rs.fields ("agencia y division") me dice: Se pueden producir errores en tiempo de ejecucion al convertir 'ADDB.Field' en 'String'-  en cual no tengo ni idea que quiere decir eso.

Muchas Gracias

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:¿Como haría un botón que busque y otro que guarde datos? - AYUDA
« Respuesta #5 en: Agosto 07, 2010, 08:43:13 pm »
Como te dije, debes adaptarlo, es un acercamiento.

Sobre el 1: No me habia fijado en esta linea de tu codigo:
Imports System.Data

Esa linea es de .Net, no me habia percatado de ello en tu código, asi que has caso omiso a todo lo que explique porque no se nada de .Net, te puedo ayudar en VB6. (Como hablaste que hace 12 años no ves programación, deduje que querías la solución en VB6)

Sobre el 2: Por eso aclare que la conexión ya debería estar dada.

Sobre el 3: Consecuencia del fallo en el punto 2.

Como estas en .Net te sugiero ubiques un foro de .Net que allí debes encontrar la solución mas rápido. Ahora, en este foro hay varios que saben de .Net, pero seria cuestión de esperar a que respondan.

Saludos

« última modificación: Agosto 07, 2010, 08:57:22 pm por YvanB »
Me encuentras en YAcosta.com

capoeira

  • Bit
  • Mensajes: 6
  • Reputación: +0/-0
    • Ver Perfil
Re:¿Como haría un botón que busque y otro que guarde datos? - AYUDA
« Respuesta #6 en: Agosto 08, 2010, 04:20:49 am »
Gracias.

Voy hacer una cosa, voy a instlar VB6 y te cuento.

Gracias

capoeira

  • Bit
  • Mensajes: 6
  • Reputación: +0/-0
    • Ver Perfil
Re:¿Como haría un botón que busque y otro que guarde datos? - AYUDA
« Respuesta #7 en: Agosto 08, 2010, 08:05:20 am »
Borro este post por que he solucionado varios de los problemas que tenia.

Mil Gracias

En unas horas os comento que tal me ha ido todo
« última modificación: Agosto 08, 2010, 09:55:33 am por capoeira »

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:¿Como haría un botón que busque y otro que guarde datos? - AYUDA
« Respuesta #8 en: Agosto 08, 2010, 02:20:17 pm »
No borres nada, que a otra gente le puede servir, y que ademas invertí un tiempo para explicar lo que explique que de memoria no lo se.
Me encuentras en YAcosta.com

capoeira

  • Bit
  • Mensajes: 6
  • Reputación: +0/-0
    • Ver Perfil
Re:¿Como haría un botón que busque y otro que guarde datos? - AYUDA
« Respuesta #9 en: Agosto 08, 2010, 06:18:40 pm »
Tienes razón, pero eran fallos tontos mios, sobre lo tuyo ¡¡perfecto!! lo has clavado solo has fallado en el codigo de guardar que en el update sobra
Código: [Seleccionar]
)"
Por lo demas felicitarte por tu gran sabiduria y agradecerte toda la ayuda.

Un Saludo

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:¿Como haría un botón que busque y otro que guarde datos? - AYUDA
« Respuesta #10 en: Agosto 08, 2010, 08:57:02 pm »
Chanfle, se me paso, jeje, ok ya lo edite para hacer honor a tus palabras.

Saludos y me alegra que halla podido ayudarte.
Me encuentras en YAcosta.com