Visual Basic - Formulario basado en dos tablas

Life is soft - evento anual de software empresarial
 
Vista:

Formulario basado en dos tablas

Publicado por Ana (2 intervenciones) el 05/10/2007 17:47:18
Hola!!

os pongo en situación: tengo dos tablas: clientes y provincias relacionadas por el campo NProvincia (en la tabla clientes) que es Código en la tabla de provincias.

En un formulario tengo que introducir y mostrar los datos de los clientes. Tienen que aparecer tanto el código de la provincia como el nombre de ésta. Si quiero modificar la provincia tengo que pulsar un botón que me lleva a la tabla de provincias, escojo la que corresponda y queda el valor del código correspondiente guardado en la tabla clientes y muestra tb el nombre de la provincia en el formulario

¿Cómo lo hago?

Espero haberme explicado bien y que me respondais pronto

No puedo meter los datos de la provincia en la tabla clientes porque tengo más tablas que necesitan provincias y me parece redundante tener esa información varias veces

Muchas gracias por adelantado!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Formulario basado en dos tablas

Publicado por emerson (12 intervenciones) el 05/10/2007 18:15:15
a ver yo trabajaria de la siguiente manera.

agrego un ADODB.Recordset y un DataEnvironment1

agragar un textbox , un combox un command

hago la consulta a la tabla de provincias de la siguiente manera para cargar las provincias a un combox

Dim R As New ADODB.Recordset
Dim cadena As String
cadena = "select NOMBREPROVINCIA from PROVINCIAS order by NOMBREPROVINCIA asc"

DataEnvironment1.Connection1.Execute cadena
If R.State = adStateOpen Then R.Close
R.CursorLocation = adUseClient
R.Open cadena, DataEnvironment1.Connection1, adOpenStatic, adLockReadOnly, adCmdText
Combo1.Clear
For X = 0 To r1.RecordCount - 1
Combo1.AddItem R("NOMBREPROVINCIA")
R.MoveNext
Next X

seleciona del combo alguna provincia y da click command.

el command es el siguiente:

Private Sub Command1_Click()
Dim r As New ADODB.Recordset
Dim cadena As String
cadena = "select NPPROVINCIAS from PROVINCIAS where NOMBREPROVINCIA = ' " & Combo1.Text & " ' "
DataEnvironment1.Connection1.Execute cadena
If r..State = adStateOpen Then r.Close
r.CursorLocation = adUseClient
r.Open cadena, DataEnvironment1.Connection1, adOpenStatic, adLockReadOnly, adCmdText

Text1.Text = r("NPPROVINCIAS")
End Sub

mas o menos es una guia porque no se conque controlador de basedatos estes trabajando. Espero que le sirva

adios
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Formulario basado en dos tablas

Publicado por Ana (2 intervenciones) el 06/10/2007 12:46:50
Al final lo he resuelto de una forma mucho más sencilla:

simplemente he creado un combobox basado en la tabla provincias, muestra el nombre de la provincia y devuelve el código de ésta.

tengo tb un textbox con el código de la provincia pero de la tabla clientes, poniendo lo siguiente funciona:

en esta parte lo que hace es coger el valor que hay en el textbos, que es el código qu eha obtenido de la tabla clientes y se lo asigna al textBox

Private Sub NProvinciaTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NProvinciaTextBox.TextChanged
ComboBox1.SelectedValue = NProvinciaTextBox.Text
End Sub

y en esta otra parte hace lo comntrario, es decir, toma el valor seleccionado en el combo y lo guarda en el textbox, como devuelve el código es justo lo que queremos mostrar:

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
NProvinciaTextBox.Text = ComboBox1.SelectedValue
End Sub

Gracias a todos, Ana
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar