Formulario busqueda acces, con tabla relacionada.
Publicado por Arioco (2 intervenciones) el 14/11/2012 22:12:26
Hola,
Intento crear un programa de stock para prensa en acces.
He creado dos tablas (Revistas y CodigosBarras) y las he relacionado. Luego he creado un formulario y le he añadido dos campos de texto (txtCB y txtNum) tal como se muestra la imagen (sin colocar aun el campo nombre).

Al escribir un codigo de barras y un numero de revista en esos dos campos de texto aplica un filtro para encontrar las revistas utilizando este codigo:
Hasta ahi todo bien, si existe lo encuentra y si no existe me deja colocar una nuevo y guardarlo.
Lo que intento és que me ponga solo el nombre de la revista segun el codigo de barras si este ya esiste, y si no existe que me lo deje poner, por eso añado el campo nombre de revista al formulario, pero me salta el siguiente error:

Pongo las imagenes porque suelo explicarme muy mal
La verdad que he buscado y probado pero se me han acabado los recursos.
Teneis alguna idea de lo que estoy haciendo mal y como resolverlo??
Me gustaria que tengan que entrar los menos datos posibles y no ir metiendo para cada revista el nombre de esta una y otra vez.
Saludos y Mil gracias!
Intento crear un programa de stock para prensa en acces.
He creado dos tablas (Revistas y CodigosBarras) y las he relacionado. Luego he creado un formulario y le he añadido dos campos de texto (txtCB y txtNum) tal como se muestra la imagen (sin colocar aun el campo nombre).

Al escribir un codigo de barras y un numero de revista en esos dos campos de texto aplica un filtro para encontrar las revistas utilizando este codigo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Private Sub txtCB_AfterUpdate()
Me.Filter = ""
Me.FilterOn = False
If Me.txtCB.Value = "" Or IsNull(txtCB.Value) Then
Me.Filter = ""
Me.FilterOn = False
Else
Me.Filter = "R_CodigoBarras = " & Me.txtCB.Value & ""
Me.FilterOn = True
End If
Me.txtNum.SetFocus
End Sub
Private Sub txtNum_AfterUpdate()
Me.Filter = ""
Me.FilterOn = False
If Me.txtCB.Value = "" Or IsNull(txtCB.Value) Then
If Me.txtNum.Value = "" Or IsNull(txtNum.Value) Then
Me.Filter = ""
Me.FilterOn = False
Else
Me.Filter = "NumeroRevista = " & Me.txtNum.Value & ""
Me.FilterOn = True
End If
Else
If Me.txtNum.Value = "" Or IsNull(txtNum.Value) Then
Me.Filter = "R_CodigoBarras = " & Me.txtCB.Value & ""
Me.FilterOn = True
Else
Me.Filter = "(R_CodigoBarras = " & Me.txtCB.Value & ") AND (NumeroRevista = " & Me.txtNum.Value & ")"
Me.FilterOn = True
End If
End If
Me.R_CodigoBarras.SetFocus
End Sub
Hasta ahi todo bien, si existe lo encuentra y si no existe me deja colocar una nuevo y guardarlo.
Lo que intento és que me ponga solo el nombre de la revista segun el codigo de barras si este ya esiste, y si no existe que me lo deje poner, por eso añado el campo nombre de revista al formulario, pero me salta el siguiente error:

Pongo las imagenes porque suelo explicarme muy mal
La verdad que he buscado y probado pero se me han acabado los recursos.
Teneis alguna idea de lo que estoy haciendo mal y como resolverlo??
Me gustaria que tengan que entrar los menos datos posibles y no ir metiendo para cada revista el nombre de esta una y otra vez.
Saludos y Mil gracias!
Valora esta pregunta


0