Ir para conteúdo
Fórum Script Brasil
  • 0

Enviar Parâmetro Sql Para Folha De Dados


Elber Carretoni

Pergunta

opa! mais uma outra vez:

gostaria de enviar um parâmetro SQL para efetuar uma filtragem de registros num objeto subformulário no modo folha de dados!

qual a propriedade do objeto subformulário que aceita esta característica???

se puder, me envie um exemplo em texto por aqui adicionando um parâmetro sql qualquer à uma folha de dados!

desde já, vlw a força!

ABRAÇOS,

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0
opa! mais uma outra vez:

gostaria de enviar um parâmetro SQL para efetuar uma filtragem de registros num objeto subformulário no modo folha de dados!

qual a propriedade do objeto subformulário que aceita esta característica???

se puder, me envie um exemplo em texto por aqui adicionando um parâmetro sql qualquer à uma folha de dados!

desde já, vlw a força!

ABRAÇOS,

Na propriedade origem do registro do sub form

SELECT * FROM tbl

WHERE ((([tbl].[campo])="parametro"));

espero ter ajudado.

Link para o comentário
Compartilhar em outros sites

  • 0

leitis, obrigado pela resposta, mas não é necessariamente esta minha dúvida...

está certa sua solução sim, porém gostaria de enviar o parâmetro sql via programação...

a origem de controle já está preenchida com os campos de uma determinada tabela e eu gostaria apenas de enviar a pesquisa dos registros via sql para o subformulário folha de dados me mostrar os resultados...deu pra entender melhor?

vlw a reply e a força...

abraços!,

Link para o comentário
Compartilhar em outros sites

  • 0
Elber acho que os exemplos no link abaixo deve lhe ajudar!

http://accessjr.brinkster.net/detalhe.asp?...&search=sql

mrmalj...obrigado pela resposta! olhando os códigos entendi perfeitamente o que acontece...

assim que der, apesar do tempo estar corrido, vou fazer os testes e retorno os resultados, ok?

abração...vlw a foça!

Link para o comentário
Compartilhar em outros sites

  • 0

Desculpe a demora, é que estou muito aterefado ultimamente.

No cabeçalho de seu módulo classe:

Option Compare Database

Option Explicit

Private Wks As DAO.Workspace

No evento open do form principal:

Set Wks = DBEngine.Workspaces(0)

Dim rst_sub As DAO.Recordset

Dim SQL_sub As String

SQL_sub = "SELECT * FROM tbl " & _

"WHERE ((([tbl].[campo])="parametro"));"

Set rst_sub = Wks.Databases(0).OpenRecordset(SQL_sub)

Set Me.seu_sub_form.Form.Recordset = rst_sub

espero ter ajudado.

Link para o comentário
Compartilhar em outros sites

  • 0

galera, fiz os testes e rodou perfeitamente numa situação simples, como o leitis indicou...porém, incrementando mais um pouquinho, tentei fazer um exemplo com o seguinte:

uma tabela ALUNO com Aluno_ID e Aluno_NOME;

um Formulário sem Origem de Controle com um Subformulário em Folha de Dados (sfAluno) mostrando o resultado da pesquisa que será efetuada.

2 caixas de seleção com 2 caixas de texto para especificar o seguinte:

- O USUÀRIO PODE EFETUAR UMA PESQUISA UTILIZANDO UM DOS DOIS CRITÈRIOS, OU OS DOIS SIMULTANEAMENTE:

fiz a verificação da seguinte maneira:

- Se a caixa de selecao Aluno_ID estiver selecionado, efetua a pesquisa com o codigo do aluno especificado na caixa de texto Aluno_ID e atribui valor 1 para uma variavel de controle;

Posteriormente:

- Se a caixa de selecao Aluno_Nome estiver selecionado e a variavel de controle for = 1, quer dizer que os dois critérios estão selecionado, portanto, busca o valor na caixa de texto Aluno_Nome e faz a pesquisa com os dois critério.

-Caso contrário a caixa de seleção Aluno_Nome estiver selecoinada e a variavel de controle for <> 1, quer dizer que só o critério Nome está sendo definido. Portanto, faz a pesquisa apenas com o mesmo...

dêem uma olhada no código:

Private Sub BOTAOPESQUISAR_Click()

Set Wks = DBEngine.Workspaces(0)

Dim rst_sub As DAO.Recordset

Dim SQL_sub As String

'declara variavel de controle

Dim vsql As Integer

'reinicia variavel sql

vsql = 0

'base do parametro sql

SQL_sub = "SELECT * FROM Aluno WHERE "

'verifica se a caixa de selecao Aluno_ID (chcodigo) esta checada:

If Me.chcodigo = True Then

SQL_sub = SQL_sub & "((([Aluno].[Aluno_ID])= '" & Me.txtcodigo & "'))"

vsql = 1

resultado da sql_sub neste momento:

SELECT * FROM Aluno WHERE ((([Aluno].[Aluno_ID]='5'))

End If

'verifica se a caixa de selecao Aluno_Nome (chnome) esta checada e a vsql=1:

If Me.chnome = True And vsql = 1 Then

SQL_sub = SQL_sub & " AND ((([Aluno].[Aluno_Nome])= '" & Me.txtnome & "'))"

vsql = 1

resultado da sql_sub neste momento:

SELECT * FROM Aluno WHERE ((([Aluno].[Aluno_ID]='5')) AND ((([Aluno][Aluno_Nome]='Elber'))

'caso contrário, apenas o critério nome está sendo especificado

Else

SQL_sub = SQL_sub & " ((([Aluno].[Aluno_Nome])='" & Me.txtnome & "'))"

vsql = 1

resultado da sql_sub neste momento:

SELECT * FROM Aluno WHERE ((([Aluno].[Aluno_Nome]='Elber'))

End If

'concatena ponto e vírgula no final do parametro sql

SQL_sub = SQL_sub & ";"

resultado da sql_sub neste momento:

um dos 3 valores acima + ";"

'efetua a pesquisa

Set rst_sub = Wks.Databases(0).OpenRecordset(SQL_sub)

Set Me.sfAluno.Form.Recordset = rst_sub

End Sub

O ERRO 3061 QUE ESTÀ DANDO INDICA QUE FALTA 1 PARÂMETRO! mas onde?

se vocês puderem me dar um help mais uma vez, vou ser muito grato...

caso queiram, envio o modelo simples que criei aqui pra vocês mesmos fazerem o teste!

grande abraço, vlw!

Editado por Elber Carretoni
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...