GD Access    GD Access    Grupo de Discussão  Ir para Categorias  Grupos técnicos  Ir para Fóruns  Access    Desafio em Forms
Go
Novo
Procurar
Notificar
Ferramentas
Responder
  
-star Rating Vote!  Login/Cadastrar 
Estagiário

postado
Olá pessoal...

Viu tentar explicar o meu problema: eu tenho um bd que na tabela eu tenho o nome do cliente, o telefone, o CEP e 20 campos (sim/não), que são características deste cliente.

O que estou tentando fazer é: eu criei um formulário p/ inserir os dados básicos do cliente, e crie outro para inserir apenas as caracteristicas. No 1º campo criei um botão que abre o 2º form. O problema é: o 2º form é aberto sempre no 1º registro, nunca acompanha o 1º form.

Alguém teria alguma idéia de como posso resolver este problema?
Grato,

Andreson Frown
 
Postagens: 64 | Localização: Aracaju | Registrado: 27 August 2002Reply With QuoteReport This Post
Programador Pleno

postado Hide Post
Caro amigo

Seu problema é fácil de ser solucionado, dentro seu primeiro form crie um sub formulário, adcione um campo que copie os códigos, para isso, esse campo deve conter na sua tabela do segundo form. No valor padrão atribua igual ao campo do primeiro.


Crie um terceiro form que contenha aquele campo do sub form e com as características que vc quiser.

Em seguida no botão que vc criou para abrir o segundo, não vai ser este e sim o terceiro.
após atribua o seguinte código:
*********************************************


Private Sub Button_Click()
On Error GoTo Err_Button_Click

Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "TerceiroForm"
stLinkCriteria = "[CampoNome]=" & Me![CampoNome]
DoCmd.OpenForm stDocName, acPreview, , stLinkCriteria

Exit_Button_Click:
Exit Sub

Err_Button_Click:
Beep
MsgBox "Não foi possível localizar o form Especificado epecificado.", 64, "AVISO"
Resume Exit_Button_Click

End Sub
*********************************************
 
Postagens: 252 | Localização: Campo Mourão | Registrado: 31 January 2001Reply With QuoteReport This Post
Estagiário

postado Hide Post
Caro Artur,

Confesso que não entendi muito bem sua explicação, mas tb acho que não expliquei direito. Estes dois forms referem-se a uma tabela só (nome da tabela: Movimento). Nesta tabela tenho 3 campos que são de preechimentos obrigatórios (Nome, Telefone e CEP). Depois tenho 20 campos (todos caixa de seleção), em que eu preencho no final do serviço (que pode durar dias) sobre a satisfação do clienet (resposta SIM e NÃO).

Logicamente q o cliente nao é obrigado a responder, por isso que eu queria q esta janela so fosse aberta se o cliente quisesse responder (no caso, este seria o 2º form, mas da mesma tabela). Como disse, o meu único problema é q nao importa em q registro o 1º form esteja, o 2º so abre no 1º.

Grato,

Andreson Big Grin
andreson.r@globo.com
 
Postagens: 64 | Localização: Aracaju | Registrado: 27 August 2002Reply With QuoteReport This Post
<koynonia>
postado
Boa tarde, Andresson

Vc pode utilizr-se da propriedade "OpenArgs" do Access. Faça assim:

No Form1 vc insere um botão para ativar o Form2, e na propriedade "Ao Clicar" deste botão vc insere o seguinte código (Vc pode adaptá-lo para seu uso...):

Dim Mudar As String, Response As Integer

On Error Resume Next

Mudar = Me.CampoNomeCliente

Response = MsgBox("Deseja inserir informações adicionais do cliente " & Mudar, vbYesNo, "Dados Adicionais")

If Response = vbYes Then
    
    ' abre o formulario
    
    DoCmd.OpenForm "Form2", , , , acForm, acDialog, Mudar
        
Else
    ' não emite mensagem de erro
    Response = acDataErrContinue
    'limpa o valor digitado e aguarda
    SendKeys "{ESC}"
End If


Bom, agora no procedimento "Ao Abrir" do Form2, vc insere o seguinte código:

On Error Resume Next

Dim strNome As String
    ' Se a propriedade OpenArgs contém o nome do cliente
    ' passa o nome para a variavel
    strNome = Forms!Form2.OpenArgs
       
    If Len(strNome) > 0 Then
        ' busca o valor da variavel na sua Tabela Clientes.
        
       Me.RecordsetClone.FindFirst "[TabCliente] = '" & strNome & "'"
       Me.Bookmark = Me.RecordsetClone.Bookmark
       Me.Refresh
       End If


Bom, não testei, mas acho que é isso aí. Pesquise tb na ajuda do Access sobre a propriedade "OpenArgs". Espero que tenha ajudado Big Grin , e não atrapalhado !
 
Reply With QuoteReport This Post
  Powered by Social Strata  
 

GD Access    GD Access    Grupo de Discussão  Ir para Categorias  Grupos técnicos  Ir para Fóruns  Access    Desafio em Forms

©