Pessoal mais uma vez eu recorro a forum para ver uma possível solução para esse problema com datas e vba...
Bom uso o codigo abaixo para atualizar uma tabela que tem 3 campos. Quando os 3 são atualizados simuntâniamente a data fica no formato desejado.
Mas quando eu atualizo apenas dois a data saí com hora ou uma data que não tem anda haver...
Public Function fncAno()
Dim teste As Variant
Dim fol As Variant
Dim sm As String
CurrentDb.Execute "Delete * From tblLetra"
DataInicial = #1/1/2013# 'primeiro dia do mês atual
DataFinal = #12/31/2013# 'último dia do mês atual
For Datas = DataInicial To DataFinal
fol = DateDiff("d", #1/1/2013#, Datas)
fncbuscar (fol)
teste = Datas
sm = UCase(Mid(Format(Datas, "ddd"), 1, 3))
teste = Format(teste, "dd/mm/yy")
Select Case Me.cboletra
Case f1
CurrentDb.Execute "INSERT INTO tblLetra (Dia, DSemana, Folga) SELECT '" & teste & "','" & sm & "','" & f1 & "' AS DiaMes"
Case f2
CurrentDb.Execute "INSERT INTO tblLetra (Dia, DSemana, folga) SELECT '" & teste & "','" & sm & "','" & f2 & "' AS DiaMes"
Case f3
CurrentDb.Execute "INSERT INTO tblLetra (Dia, DSemana, folga) SELECT '" & teste & "','" & sm & "','" & f3 & "' AS DiaMes"
Case Else
CurrentDb.Execute "INSERT INTO tblLetra (Dia, DSemana) SELECT " & teste & ",'" & sm & "' AS DiaMes"
End Select
Next Datas
End Function
Resultado esperado:
| Dia | DSemana | Folga |
| 30/12/1899 | TER | |
| 02/01/13 | QUA | B |
| 30/12/1899 | QUI | |
| 30/12/1899 | SEX | |
| 30/12/1899 | SÁB | |
| 30/12/1899 | DOM | |
| 07/01/13 | SEG | B |
| 08/01/13 | TER | B |
| 30/12/1899 | QUA | |
| 30/12/1899 | QUI | |
Bom uso o codigo abaixo para atualizar uma tabela que tem 3 campos. Quando os 3 são atualizados simuntâniamente a data fica no formato desejado.
Mas quando eu atualizo apenas dois a data saí com hora ou uma data que não tem anda haver...
Public Function fncAno()
Dim teste As Variant
Dim fol As Variant
Dim sm As String
CurrentDb.Execute "Delete * From tblLetra"
DataInicial = #1/1/2013# 'primeiro dia do mês atual
DataFinal = #12/31/2013# 'último dia do mês atual
For Datas = DataInicial To DataFinal
fol = DateDiff("d", #1/1/2013#, Datas)
fncbuscar (fol)
teste = Datas
sm = UCase(Mid(Format(Datas, "ddd"), 1, 3))
teste = Format(teste, "dd/mm/yy")
Select Case Me.cboletra
Case f1
CurrentDb.Execute "INSERT INTO tblLetra (Dia, DSemana, Folga) SELECT '" & teste & "','" & sm & "','" & f1 & "' AS DiaMes"
Case f2
CurrentDb.Execute "INSERT INTO tblLetra (Dia, DSemana, folga) SELECT '" & teste & "','" & sm & "','" & f2 & "' AS DiaMes"
Case f3
CurrentDb.Execute "INSERT INTO tblLetra (Dia, DSemana, folga) SELECT '" & teste & "','" & sm & "','" & f3 & "' AS DiaMes"
Case Else
CurrentDb.Execute "INSERT INTO tblLetra (Dia, DSemana) SELECT " & teste & ",'" & sm & "' AS DiaMes"
End Select
Next Datas
End Function
Resultado esperado:
| Dia | DSemana | Folga |
| 30/12/1899 | TER | |
| 02/01/13 | QUA | B |
| 30/12/1899 | QUI | |
| 30/12/1899 | SEX | |
| 30/12/1899 | SÁB | |
| 30/12/1899 | DOM | |
| 07/01/13 | SEG | B |
| 08/01/13 | TER | B |
| 30/12/1899 | QUA | |
| 30/12/1899 | QUI | |