Access - propiedades eventos

 
Vista:

propiedades eventos

Publicado por ester (13 intervenciones) el 10/04/2008 21:06:06
Hola no se cual propiedad de los eventos me viene mejor.

Tengo un cuadro combinado dentro de un formulario:

por ejemplo, formulario principal personas. y el cuadro combinado lo tengo en el campo
ciudades.
el cuadro combinado tira de una lista en la que puedo añadir un campo nuevo, si por ejemplo la ciudad en cuestión no estaba antes en la lista.(ejemplo Barcelona)

el rollo es que cuando estoy introduciendo los datos de una nueva persona(ejemplo Juan López), si la ciudad en la que vive, no existía en la lista y la tengo que agregar (Barcelona), me ocurre lo siguiente:
para que (barcelona) se quede seleccionada con los datos de Juan López debo salirme del formulario personas. luego volver a entrar y buscar a Juan López y luego en el campo ciudades buscar Barcelona.

No sé si con actualizar.... o alguna propiedad de eventos se solucionaría.

Muchas gracias
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:propiedades eventos

Publicado por mi menda (1111 intervenciones) el 11/04/2008 09:52:53
Hola ester:
Supongo que la ciudad la añades en el evento "al no estar en la lista". Después del código para insertar un nuevo valor, prueba de estas formas:

1º ciudades.Requery
Sí no funciona
2º Me.Requery
Si no funciona
3º Me.Refresh

Un saludo
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:propiedades eventos

Publicado por ester (13 intervenciones) el 11/04/2008 12:20:36
no se si estará mejor tu solución. la verdad es que de visual basic, no tengo ni idea y no sé como tengo que escibir los códigos que me dás.

He encontrado la siguiente opción en propiedades del formulario ciudades:
Entrada de datos: sí.

y parece que da resultado, desconozco si es lo más acertado, pero como no si de visual....

que te parece??
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:propiedades eventos

Publicado por ester (13 intervenciones) el 11/04/2008 12:47:38
vaya fallo.
la propiedad que te he comentado antes del formulario es para abrir un registro nuevo, pero el problema sigue igual.
si introduzaco como ciudad nueva, barcelona, para que aparezca en la lista debo cerrar el formulario ppal etc....
si puedes explicame el código entero porque no tengo ni pajoreta idea del visual

muchas gracias
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:propiedades eventos

Publicado por mi menda (1111 intervenciones) el 11/04/2008 19:44:06
Hola Ester:
Creia que añadias la nueva ciudad mediante código y no te actualizaba.
En la hoja de propiedades del cuadro combinado ciudades vas a la ficha DATOS, y la propiedad "limitar a la lista" la pones a SI.
En la ficha EVENTOS te situas sobre el evento "Al no estar en la lista" , seleccionas "procedimiento de evento", pulsas los tres puntitos (...) de la derecha, y entre las dos líneas que te salen pones esto:

Dim nuevoDato As String
Dim ssql As String
Dim con As ADODB.Connection
Set con = CurrentProject.Connection
nuevoDato = Replace(NewData, "'", "''")
Response = acDataErrAdded
If MsgBox("La ciudad: " & nuevoDato & " no existe." & vbCrLf _
& "¿Desea añadirla a la lista?", vbInformation + vbYesNo + vbDefaultButton1, _
"Registro nuevo") = vbYes Then
ssql = "insert into tblCiudades(ciudades) values ('" & _
nuevoDato & "')"
con.Execute ssql
Else
Response = acDataErrContinue
Me.ciudades = ""
End If

Donde tblCiudades lo tienes que sustituir por el nombre de la tabla donde este el campo ciudades.
y ciudades lo tienes que sustituir por el nombre exacto de tu campo ciudades.
Cuando estes en el editor de VB vas al menu Herramientas >Referencias y comprueba que tienes marcada la libreria:

Microsoft ActiveX Data Objects 2.x Library

Un saludo
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:propiedades eventos

Publicado por ester (13 intervenciones) el 14/04/2008 09:56:39
Buenas mi menda.

Muchas gracias por tu ayuda, muy bien explicado. Pero no me sale.
Creo que deberá ser una tontería.
Te importa que te mande la tabla para que me insertes el código y así yo pueda ver en que me he equivocado y aprender de una vezzz.

gracias
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:propiedades eventos

Publicado por mi menda (1111 intervenciones) el 14/04/2008 12:20:26
Hola ester:
Puedes enviarmelo

Un Saludo
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:propiedades eventos

Publicado por ester (13 intervenciones) el 14/04/2008 14:28:33
Te mando la bd que he realizado, sirve para clasificar la documentación de la empresa.

tanto por ámbito geográfico, como por tipo de documento, (Audio, vídeo, fotografía)

Si te vas al formulario principal, y creas un nuevo registro. Puedes comprobar lo que te he dicho anteriormente, que tienes que salirte del formulario principal para que se guarden los nuevos datos.

He añadido el código que me has dado en ámbito geográfico.

un saludo
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:propiedades eventos

Publicado por mi menda (1111 intervenciones) el 14/04/2008 15:26:22
Hola ester:

Esto es lo correcto

Private Sub IdÁmbito_NotInList(NewData As String, Response As Integer)
Dim nuevoDato As String
Dim ssql As String
Dim con As ADODB.Connection
Set con = CurrentProject.Connection
nuevoDato = Replace(NewData, "'", "''")
Response = acDataErrAdded
If MsgBox("La ciudad: " & nuevoDato & " no existe." & vbCrLf _
& "¿Desea añadirla a la lista?", vbInformation + vbYesNo + vbDefaultButton1, _
"Registro nuevo") = vbYes Then
ssql = "insert into [Ámbito geográfico] (Nombre) values ('" & _
nuevoDato & "')"
con.Execute ssql
Else
Response = acDataErrContinue
Me.IdÁmbito = ""
End If

End Sub

Cuando el nombre de un campo o una tabla tiene espacios en blanco, hay que meterlos entre corchetes.

Saludos
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:propiedades eventos

Publicado por ester (13 intervenciones) el 18/04/2008 11:59:48
gracias, por fin me saleeeeeee. muchas gracias por tu ayuda
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