Continuando na montagem do meu BD e os erros vão multiplicando conforme aumento as funções do mesmo.
Nesta dúvida, tenho um form de pesquisa com 3 opções:
RM (Que é o registro interno do aluno)
RA (Que é o registro de aluno do estado de SP)
NOME (Nome do aluno)
Pois bem, quando a pessoa que está usando a pesquisa opta pelo RM está tudo OK. Aparece a mensagem "Deseja continuar com a pesquisa completa?" e se sim, abre o Formulário com a ficha do aluno, tudo certinho. Mas, se não insiro um RM ou digito um que não tem, aparecem mensagens de aviso, que eu fiz, e retorna para o form de pesquisa. POrém, quando insiro, após errar antes, um registro correto, o formulário aparece em branco. Não sei onde estou errando. Segue o código:
Private Sub cmdPESQUISA_Click()
CompletaForm
Form_Alunos.cmdGravar.Enabled = False
Form_Alunos.cmdPesquisar.Enabled = True
Form_Alunos.cmdSair.Enabled = True
Form_Alunos.cmdAlterar.Enabled = True
Form_Alunos.cmdExcluir.Enabled = False
Form_Alunos.txtRM.Enabled = False
Form_Alunos.txtRA.SetFocus
End Sub
Sub CompletaForm()
Dim resp
Dim RM As Integer
Dim db As Database
Dim rs As Recordset, rs2 As Recordset
Set db = CurrentDb
If Me.txtPERQUISARM <> "" Then
RM = Me.txtPERQUISARM.Value
Set rs = db.OpenRecordset("Select * from tb_Alunos Where RM= " & RM & "")
If rs.RecordCount <> 0 Then
resp = MsgBox("Deseja continuar a pesquisa completa?", vbYesNo)
If resp = vbNo Then
Exit Sub
Else
DoCmd.Close
DoCmd.OpenForm "Alunos"
Form_Alunos.txtRM = RM
Set rs = db.OpenRecordset("Select * from tb_Alunos Where RM= " & Form_Alunos.txtRM & "")
Set rs2 = db.OpenRecordset("Select * from tb_Autorizados Where RM= " & Form_Alunos.txtRM & "")
Form_Alunos.txtRM = rs("RM")
Form_Alunos.txtRA = rs("RA")
Form_Alunos.txtNOME = rs("NOME")
Form_Alunos.cmbSEXO = rs("SEXO")
Form_Alunos.txtDATA_NASC = rs("DATA_NASC")
Form_Alunos.cmbNATURALIDADE = rs("NATURALIDADE")
Form_Alunos.txtMAE = rs("MAE")
Form_Alunos.txtRGMAE = rs("RG_MAE")
Form_Alunos.txtPAI = rs("PAI")
Form_Alunos.txtRGPAI = rs("RG_PAI")
Form_Alunos.txtCERTIDAO_NOVA = rs("CERTIDAO_NOVA")
Form_Alunos.txtNUM_CERTIDAO = rs("CERTIDAO")
Form_Alunos.txtLIVRO = rs("LIVRO")
Form_Alunos.txtFOLHA = rs("FOLHA")
Form_Alunos.txtEMISSAO = rs("EMISSAO")
Form_Alunos.cmbDISTRITO = rs("DISTRITO")
Form_Alunos.cmbCOMARCA = rs("COMARCA")
Form_Alunos.cmbESTADO = rs("ESTADO")
Form_Alunos.txtENDERECO = rs("ENDERECO")
Form_Alunos.cmbBAIRRO = rs("BAIRRO")
Form_Alunos.cmbCIDADE = rs("CIDADE")
Form_Alunos.txtTEL1 = rs("TEL1")
Form_Alunos.txtTEL2 = rs("TEL2")
Form_Alunos.txtTEL3 = rs("TEL3")
Form_Alunos.txtTEL4 = rs("TEL4")
Form_Alunos.txtANO = rs("ANO")
Form_Alunos.cmbTURNO = rs("TURNO")
Form_Alunos.cmbENSINO = rs("ENSINO")
Form_Alunos.cmbSERIE = rs("SERIE")
Form_Alunos.cmbTURMA = rs("TURMA")
Form_Alunos.txtNUM_CH = rs("NUM_CH")
Form_Alunos.txtDATA_MAT = rs("DATA_MAT")
Form_Alunos.txtOBS = rs("OBS")
Form_Alunos.txtAUTORIZADOS = rs2("AUTORIZADOS")
Form_Alunos.txtRM.Enabled = True
End If
Else
MsgBox ("Não foi achado nenhum registro com o código informado!"), vbInformation + vbOKOnly, "Nenhum Registro"
Me.txtPERQUISARM = Empty
Me.txtPERQUISARM.SetFocus
End If
Else
MsgBox ("Favor digitar um registro!"), vbInformation + vbOKOnly, "Nenhum Registro"
Me.txtPERQUISARM.SetFocus
End If
End Sub
Quando tento pelo RA ou NOME, dá erro. Tentei várias formas e não consegui até agora.
O que eu queria na verdade é o seguinte:
Ao clicar no botão pesquisar, os outros 2 campos não digitados preencheriam automaticamente de acordo com o preenchido.
Exemplo: Se digito o RM, ao clicar, preenche o RA e o NOME respectivos e aparece a mensagem "Deseja continuar com a pesquisa completa?". Se sim, abre o formulário completo com a Ficha do Aluno, se não, continua somente neste form.
Não sei se deu pra entender, mas anexarei o BD para esclarecimento.
Grato.