Cuadro combinado en access

Chaves, tengo un problema con una aplicación que estoy haciendo sobre control de correspondencia en una empresa; tengo una tabla entradacorrespondencia, tipoarchivo(az compras, az gastos, etc..), tipodocumento(carta, etc..)y sus correspondientes formularios. Quiero que mediante combo se pueda elegir el tipodocumento y tipoarchivo pero que si no están pregunte si los quiere añadir y lo haga, actualizando automáticamente los cuadros comb. Respectivos.
Casi lo he logrado pero cuando vuelve a mostrar el cuadro combinado me sale la lista anterior, una fila en blanco y debajo el nuevo registro.
Ayúdame, estoy nulo, me echa humo la cabeza.
Gracias
Respuesta
1
En cada cuadro combinado, en el origen de la fila teclea algo así:
Select Campo, Campo From TipoArchivo Order by Campo
( Sustituye campo por el nombre real del campo de la tabla TipoArchivo ).
Nº de Columnas: 2
Ancho: 5 cm; 0 cm
( El ancho que sea para la primera, la segunda cero, sólo es para controlar que no existe en la tabla, como ahora verás ).
En el evento después de actualizar, suponiendo que el cuadro combinado se llama "campo", como en la tabla TipoArchivo programa lo siguiente:
Dim X As Variant
If IsNull(Campo.Column(1)) And Not IsNull(Campo) Then
X = MsgBox("Añadir " & Campo & " a la tabla:", 4)
If X = 6 Then
DoCmd.RunSQL "INSERT INTO TipoArchivo ( Campo ) VALUES ('" & Campo & "')"
Campo.Requery
End If
( Supongo que el campo de la tabla TipoArchivo es de texto ).
Lo siento, pero con tanto "campo" me he liado un poco.
¿Me lo podrías depurar un poco?
Gracias
Como no se como llamas a los campos he usado la palabra campo como nombre del campo de la tabla, pero nada más, vuelvo a explicarlo paso a paso:
1.-En cada cuadro combinado,
edita las propiedades (una vez seleccionado el cuadro combinado, botón derecho, eliges propiedades). Dentro de la propiedad "Tipo de Origen de la Fila", seleccionas "Tabla/Consulta" y dentro de la propiedad "origen de la fila" debes especificar como rellenar la lista para seleccionar del cuadro combinado. Supongamos que estamos con el cuadro combinado de "TipoArchivo", el cual tira de una tabla llamada "TipoArchivo" que tiene un campo llamado "NombreTipoArchivo". Para rellenar el cuadro combinado en la propiedad "origen de la fila" debes teclear:
Select NombreTipoArchivo, NombreTipoArchivo From TipoArchivo Order by NombreTipoArchivo
En la propiedad "Número de Columnas", teclea 2 y en la propiedad "Ancho de Columnas" teclea: 5cm;0cm
( El ancho que sea para la primera, la segunda cero, sólo es para controlar que no existe en la tabla, como ahora verás ).
En el evento (propiedad) "Después de Actualizar", suponiendo que el cuadro combinado se llama "TipoArchivo" (Propiedad "Nombre" es igual a TipoArchivo) programa lo siguiente:
Dim X As Variant
If IsNull(TipoArchivo.Column(1)) And Not IsNull(TipoArchivo) Then
X = MsgBox("Añadir " & TipoArchivo & " a la tabla:", 4)
If X = 6 Then
DoCmd.RunSQL "INSERT INTO TipoArchivo ( NombreTipoArchivo ) VALUES ('" & TipoArchivo & "')"
TipoArchivo.Requery
End If

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas