¿Pegar valor de fecha de un cuadro combinado a una columna completa de datos de una tabla con código vba access?

Quiero pegar por medio de un botón la fecha de un cuadro combinado a una columna de datos de una tabla en el siguiente código

Dim f As Object
Dim ruta As String
Dim x
DoCmd.SetWarnings (False)
ssql = Form_Inicio.Cuadro_combinado37.Value
Set f = Application.FileDialog(1)
With f
.AllowMultiSelect = True
.Title = "Selecciona ruta"
.InitialFileName = "C:\Users\rodrigo.luna\Documents\"
.Filters.Clear
.Filters.Add " All Files", "*.txt"
If .Show = True Then
For Each it In f.SelectedItems
DoCmd.TransferText acImportDelim, "V1", "V1", it, True

Next it
MsgBox " transferencia con exito", vbInformation
End If
End With
x = "Insert Into V1.[Semana]Values(" & Me.Cuadro_combinado37 & ")"

1 respuesta

Respuesta

Sería conveniente que pusieras una imagen de la tabla origen del formulario, si la tiene. Cuesta imaginarse, si los registros de el control Semana, ya están todos los que se ven con un 0 y luego eliges la semana, o si eliges primero la semana y luego vas añadiendo los registros del formulario.

Primer caso. Personalmente lo que haría sería introducir el valor de la semana en aquellos registros ya creados de la tabla que tengan un 0, usando

Docmd.setwarnings false

Docdm.runsql"update nombretabla set semana=" & me.nombrecombo & " where semana=0"

Me. Requery

Es decir, actualízame el campo Semana de la tabla al valor que figura en el combinado en aquellos registros en que Semana=0

Luego, haz que el formulario reconsulte su origen de registros. Esto suponiendo que el formulario tenga su origen en una tabla

Segundo caso. Si primero eliges la semana y luego vas añadiendo registros en el formulario, basta con poner en el evento Al recibir el enfoque del cuadro de texto semana

if me.newrecord then

semana=nombrecombo

end if

Esto es porque si por lo que sea, te desplazaras por los registros y hubiera cambiado el valor del combinado no te cambie el valor de la semana a los que ya están rellenos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas