Alexandre Fim 22/4/2022, 23:05
Magnus,
Fiz um exemplo de formulário para carregar o dia da semana através de uma function no SQL Server.
Ao informar a Data e clicar em "Executar", o sistema carrega o dia da semana:
--------- Código do formulário -------------------------------
Option ExplicitOption Compare DatabaseDim cnn As New ADODB.ConnectionDim rst As New ADODB.RecordsetDim ssql As String-------------------------------------------------------------------------------------------------------------------------------------------
Private Sub cmdExecutar_Click()On Error GoTo trata_erro '-- conexão com SQL Server With cnn If .State = 0 Then .ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;" & _ "Persist Security Info=False;" & _ "Initial Catalog=NOME_DO_SEU_BANCO_DE_DADOS;" & _ "Data Source=NOME_SERVIDOR" .Open .CursorLocation = adUseClient End If End With '-- Instrução SQL da função que carrega o nome do dia da semana, ' passando como parametro a data ssql = "SELECT dbo.FDIA_SEMANA_EXT ('" & Format(Me.txtData, "yyyy-mm-dd") & "')" '-- Abre recordset com resultado da função rst.Open ssql, cnn, adOpenKeyset, adLockReadOnly '-- Campo recebe o valor do resultado do recordset Me.txtDiaSemana = rst(0) cnn.Close Set cnn = Nothing Exit Subtrata_erro: MsgBox "Erro gerado: " & Err.Number & " - " & Err.Description & "", vbCritical, "Erro" If cnn.State = 1 Then cnn.Close: Set cnn = Nothing Exit SubEnd SubExemplo de função SQL Server para carregar o dia da semana - Código:
CREATE FUNCTION FDIA_SEMANA_EXT (@DATA DATETIME) RETURNS VARCHAR (20) AS
BEGIN
DECLARE @DIA INT,
@DIA_EXT VARCHAR(20)
SELECT @DIA = (DATEPART(DW,@DATA ))
IF @DIA=1 SET @DIA_EXT ='DOMINGO'
IF @DIA=2 SET @DIA_EXT ='SEGUNDA-FEIRA'
IF @DIA=3 SET @DIA_EXT ='TERÇA-FEIRA'
IF @DIA=4 SET @DIA_EXT ='QUARTA-FEIRA'
IF @DIA=5 SET @DIA_EXT ='QUINTA-FEIRA'
IF @DIA=6 SET @DIA_EXT ='SEXTA-FEIRA'
IF @DIA=7 SET @DIA_EXT ='SÁBADO'
RETURN @DIA_EXT
END
No VBA, vá no menu Ferramentas >> Referências, e marque a referencia "Microsoft ActiveX Data Objects 2.8 Library"
PROCEDIMENTOS:
1 - Copie e Cole o script da function no SQL e execute.2 - Altere o nome do banco de dados e do servidor no código da conexão do formulário.Utilize este exemplo para executar as funções desejadas para o teu sistema.Espero ter ajudadoSegue exemplo.Att,Alexandre Fim- Anexos
- ExecFunctionSQL.zip
- Você não tem permissão para fazer download dos arquivos anexados.
- (37 Kb) Baixado 16 vez(es)