PROJECTE TECNOHOUSE

 

Fem una base de dades en la qual intentarem emmagatzemar la informació necessària per gestionar una inmobiliària.

A partir de les condicions establertes per l’exercici proposat

Pel exercici que farem servir 7 taules amb els camps corresponents.

Les relacions s’estableixen entre els ítems corresponents

 

 

El programa haurà de partir d’un formulari MDIFORM que contindrà un menú per treballar amb cadascuna de les 7 taules que hem elaborat.

 

 

 

 

Si ens fixem en la construcció de les taules i les seves relacions podem extreure les relacions de dependències entre taules i quin és el camp que cal que existeixi per poder afegir algun registre nou en una taula relacionada

 

 

 

Els primers formularis que farem seran els que no depenen d’altres taules, en aquest cas farem primer el formulari Titular i Propietaris.

 

Es poden fer ràpidament introduint un datagrid i uns quadres de text (tants com camps tingui la taula), afegim un adodc connectat a la base de dades i connectem cadascun dels textbox al adodc amb la propietat recordsource i  al camp camp corresponent amb la propietat datafield.

 

 

Hem afegit un menú amb dues opcions al formulari per modificar e introduir nous titulars.

 

UTILITZACIÓ D’UN CONTROL ADODC (OLEDB - ADO DATA CONTROL) I CONTROL DE LES OPCIONS D’UNA TAULA INDEPENDENT

 

Connexió a la base de dades, escollim el motor: Microsoft jet 4.0 provider i la ruta.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Una vegada connectat el adodc establim el recordsource i el connectem a la taula corresponent:

 

 

 

 

 

 

Per cadascun dels quadres de text hem de connectar les propietats Datasource i DataField de manera que obtenim el següent.

 

I on cadascun d’ells el connectarem al camp corresponent.

 

 

 

 

 

 

 

 

 

 

Per fer el menú haurem de polsar en “Herramientas – Editor de Menús”

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Haurem d’implementar les funcions “Nuevo Titular” i “Modificar Titular”

 

En “Nuevo Titular” hem d’afegir un nou registre al nostre conjunt de dades de l’adodc, així posarem:

 

Private Sub mnuNuevTit()

Adodc1.Recordset.AddNew

Sidatos

End sub

 

Recordo que per evitar que es puguin modificar les dades, directament des del quadre de text hem de fer una funció Sidatos y Nodatos que ens deixi o no modificar les dades sempre que estiguem segurs de que les volem modificar, i no en qualsevol altre cas. Hem de pensar que les dades són molt important i si es perden o es modifiquen sense voler poden generar unes pèrdues econòmiques molt importants

 

Les funcions poden tenir el següent aspecte:

 

Private Sub NODATOS()

Text1.Enabled = False

Text2.Enabled = False

Text3.Enabled = False

Text4.Enabled = False

Text5.Enabled = False

Text6.Enabled = False

Text7.Enabled = False

Text8.Enabled = False

Text9.Enabled = False

Command1.Visible = False

Command2.Visible = False

Command7.Visible = False

 

End Sub

Private Sub SIDATOS()

Text1.Enabled = True

Text2.Enabled = True

Text3.Enabled = True

Text4.Enabled = True

Text5.Enabled = True

Text6.Enabled = True

Text7.Enabled = True

Text8.Enabled = True

Text9.Enabled = True

Command1.Visible = True

Command2.Visible = True

Command7.Visible =True

End Sub

 

En aquestes funcions habilitem i deshabilitem els controls per poder modificar el contingut dels camps o no i visualitzem el botons, acceptar i cancel·lar i esborrar el registre.

 

El contingut dels botons acceptar i cancel·lar serà:

‘BOTÓ ACCEPTAR

Private Sub Command1_Click()

On Error Resume Next ‘controlem el possible error degut a la base de dades

NODATOS ‘ deshabilitem els controls per seguir modificant

Adodc1.Recordset.Update ‘actualitzem el recordset amb les noves dades.

End Sub

 

‘BOTÓ CANCELAR

Private Sub Command2_Click()

On Error Resume Next

NODATOS

Adodc1.Recordset.CancelUpdate ‘cancel·lem l’actualització i queda el recorset com estava

End Sub

 

Si afegim a la nostra aplicació 4 botons de navegació pels registres de la base de dades, llavors tenim següent formulari i el codi dels botons:

‘BOTÓ PER ANAR AL PRIMER REGISTRE

Private Sub Command3_Click()

Adodc1.Recordset.MoveFirst

End Sub

 

‘BOTÓ PER ANAR AL REGISTRE ANTERIOR

Private Sub Command4_Click()

Adodc1.Recordset.MovePrevious

If Adodc1.Recordset.BOF Then Adodc1.Recordset.MoveFirst

End Sub

 

‘BOTÓ PER ANAR AL REGISTRE SEGÜENT

Private Sub Command5_Click()

Adodc1.Recordset.MoveNext

If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast

End Sub

 

‘REGISTRE PER ANAR A L’ÚLTIM REGISTRE

Private Sub Command6_Click()

Adodc1.Recordset.MoveLast

End Sub

 

Hem d’implementar la possibilitat d’esborrar un registre

 

L’opció d’esborrar el registre la introduïm dintre de l’opció modificar registre i dintre de la funció sidatos nodatos per ocultar o visualitzar el botó. A més controlarem l’execució de l’acció amb un missatge de windows. Si la resposta és positiva, llavors esborrem el registre amb la instrucció delete i reestructrem la base de dades amb el requery.

 

Private Sub Command7_Click()

If MsgBox("¿Seguro que quieres borrar el registro?", vbOKCancel, "Atencion Borrar Registro") = vbOK Then

Adodc1.Recordset.Delete

Adodc1.Recordset.Requery

End If

End sub

UTILITZACIÓ D’UN CONTROL ADODC (OLEDB - ADO DATA CONTROL) I CONTROL DE LES OPCIONS D’UNA TAULA DEPENDENT

 

Com es pot pensar, les taules dependents, depenen en sí d’alguna dada d’una altra taula, en el nostre cas, les taules independents són les taules titulars de les agències i la taula propietaris dels immobles, per tant podríem fer el segon formulari exactament igual a l’anterior.

 

Com exemple de taula dependent podem fer la taula agència que depèn de la taula titulars, amb una relació un a un. De  manera que cada agència tindrà un titular que l’identificarem per l’id_titular.

 

El formulari serà exactament igual que el de les taules titulars i propietaris, amb un textbox per cada camp que volem visualitzar, però el que farem serà introduir un DataComboBox (cuadre de text combinat amb un listbox (OLEDB)) per enllaçar amb les opcions dels titulars possibles, i dos adodcs, un connectat a agències i l’altra connectat a titulars.

 

Afegim dos Adodcs i un DataCombo:

 

Els adodcs els connectem a la base de dades i a cadascuna de les taules així en la propietat recordsource dels adodcs introduïm la consulta corresponent.

 

Després el DataCombo el connectem als adodcs, però de la següent manera. La part desplegable, es per la propietat rowSource= Adodc2, i la propietat listField=ID_TIT així obtindrem en el desplegable els Identificadors de tots els possibles Titulars i del mateix Data combo,  el valor dataSource= Adodc1 i la propietat DataField=ID_TIT L’identificador del titular de l’agència.

 

 

Tota la resta d’opcions serien anàlogues a les del programa anterior.

 

Hem afegit un botó que obriria el formulari  de titulars si volguèssim afegir un titular que no hi fos.

 

Per a que el datacombo actualitzi el valor del registre en el momento en que canviem la selecció, hem d’afegir en la funció click el valor del datacombo en el recordset:

 

Private Sub DataCombo1_Click(Area As Integer)

Adodc1.Recordset.Fields(1) = DataCombo1.Text

End Sub