MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

2 participantes

    [Resolvido]Executar uma function do SQL Server no MS ACCESS

    avatar
    mpcs
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 22/04/2022

    [Resolvido]Executar uma function do SQL Server no MS ACCESS Empty [Resolvido]Executar uma function do SQL Server no MS ACCESS

    Mensagem  mpcs 22/4/2022, 16:07

    Bom dia a todos!
    Preciso vincular uma function do SQL server no Ms Access, mas não localizei nenhum post sobre esse tema. Consigo visualizar e vincular as tabelas do SQL Server no Ms Access, mas não sei como posso executar essas functions a partir do Ms Access. Alguem pode me ajudar?

    Muito Obrigado!
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2605
    Registrado : 13/12/2016

    [Resolvido]Executar uma function do SQL Server no MS ACCESS Empty Re: [Resolvido]Executar uma function do SQL Server no MS ACCESS

    Mensagem  Alexandre Fim 22/4/2022, 18:06

    Olá Magnus,

    Seja bem-vindo ao fórum!

    Você consegue executar uma function do SQL usando uma conexão ADO, via código VBA.

    Att,


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Executar uma function do SQL Server no MS ACCESS Setinf11
    Sistemas e Tecnologia Ltda
    avatar
    mpcs
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 22/04/2022

    [Resolvido]Executar uma function do SQL Server no MS ACCESS Empty Re: [Resolvido]Executar uma function do SQL Server no MS ACCESS

    Mensagem  mpcs 22/4/2022, 21:07

    Obrigado Alexandre pela acolhida e rápida resposta. Mas como um iniciante ainda nesse universo da programação, você teria um exemplo do codigo VBA que eu possa utilizar como exemplo para executar a function.

    Obrigado!
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2605
    Registrado : 13/12/2016

    [Resolvido]Executar uma function do SQL Server no MS ACCESS Empty Re: [Resolvido]Executar uma function do SQL Server no MS ACCESS

    Mensagem  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:

    [Resolvido]Executar uma function do SQL Server no MS ACCESS D+ra5tDbQ8xfgAAAABJRU5ErkJggg==


    --------- Código do formulário -------------------------------

    Option Explicit
    Option Compare Database
    Dim cnn As New ADODB.Connection
    Dim rst As New ADODB.Recordset
    Dim 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 Sub


    trata_erro:
        MsgBox "Erro gerado: " & Err.Number & " - " & Err.Description & "", vbCritical, "Erro"
        If cnn.State = 1 Then cnn.Close: Set cnn = Nothing
        
        Exit Sub


    End Sub




    Exemplo 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"

    [Resolvido]Executar uma function do SQL Server no MS ACCESS ALw378uBBER0bngVCoREZHwP+zqa9zj4hDyAAAAAElFTkSuQmCC


    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 ajudado


    Segue exemplo.


    Att,


    Alexandre Fim
    Anexos
    [Resolvido]Executar uma function do SQL Server no MS ACCESS AttachmentExecFunctionSQL.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (37 Kb) Baixado 7 vez(es)


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Executar uma function do SQL Server no MS ACCESS Setinf11
    Sistemas e Tecnologia Ltda
    avatar
    mpcs
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 22/04/2022

    [Resolvido]Executar uma function do SQL Server no MS ACCESS Empty Re: [Resolvido]Executar uma function do SQL Server no MS ACCESS

    Mensagem  mpcs 26/4/2022, 16:09

    Ajudou sim Alexandre. Muito obrigado!

      Data/hora atual: 1/10/2022, 16:53