Tenho duas listbox, 1 - Pessoas, 2 Pessoas Selecionadas, e tenho 1 combo box que filtra as pessoas que aparecem na 1ª listbox, assim o usuário seleciona quem ele quiser e enviar para a 2 listbox, meu problema está quando vou salvar, pois tenho que checar se algumas pessoas listadas no listbox2 já foram salvas no banco, ai tento comparar e quando o valor é nulo tenho que gravar no banco, porem não consigo fazer com que a comparação ocorra, segue o codigo:
Pergunta
Flafis
Tenho duas listbox, 1 - Pessoas, 2 Pessoas Selecionadas, e tenho 1 combo box que filtra as pessoas que aparecem na 1ª listbox, assim o usuário seleciona quem ele quiser e enviar para a 2 listbox, meu problema está quando vou salvar, pois tenho que checar se algumas pessoas listadas no listbox2 já foram salvas no banco, ai tento comparar e quando o valor é nulo tenho que gravar no banco, porem não consigo fazer com que a comparação ocorra, segue o codigo:
Private Sub Salvar_Click()
On Error GoTo Err_Salvar_Click
'Dim doCount As Integer
Dim ctlDest As Control
Dim MsgSalvar As String
'Dim intRegCorr As Integer
Dim strEvento As Integer
Dim con As Object
Dim rs As Object
Dim strDadosBd As Control
Dim strteste As Integer
Set ctlDest = Form!lstDestino
strEvento = Form!Id_evento.Value
Set strDadosBd = Form!lstaux
' DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
'O For é para selecionar item a item da lista
strDadosBd.RowSource = ctlDest.RowSource
For intRegCorr = 0 To lstDestino.ListCount - 1 'ctlDest.ListCount - 1 'lstDestino.ListCount
Set con = Application.CurrentProject.Connection
Set rs = CreateObject("ADODB.Recordset")
'Esse select é para verificar se já foram gravado no banco os registro que estao na listbox
stSql = "Select evento_pessoa.id_evento, evento_pessoa.id_pessoa from evento_pessoa " _
& "where evento_pessoa.id_pessoa = " & ctlDest.Column(0, intRegCorr) & _
" and evento_pessoa.id_evento =" & strEvento
strDadosBd.RowSource = stSql
'passo a sentenca para uma listbox invisivel, para fazer a comparação
'nesse momento é que deveria ocorrer a verificação do valor nulo mas não acontece
If strDadosBd.Column(1, intRegCorr) = Null Then
strteste = 0
Else
strteste = CInt(strDadosBd.Column(1, intRegCorr))
End If
'esse if criei para ver se com a integer o sistema fazia a comparação mas não da certo
If strteste = 0 Then
'Esse insert faz com que para cada item selecionado eu acrescente uma pessoa na tabela
'com o mesmo codigo do evento
stSql = "INSERT INTO evento_Pessoa (id_evento, Id_Pessoa )"
stSql = stSql & "VALUES"
stSql = stSql & "(" & strEvento & "," & ctlDest.Column(0, intRegCorr) & ")"
rs.Open stSql, con, 1 = adOpenKeyset
End If
Next intRegCorr
'Limpa a string global para comçar uma nova seleção
strItemsGlb = ""
If lstDestino.ListCount > 1 Then
MsgSalvar = MsgBox(ctlDest.ListCount & " - Registros salvos com sucesso", vbOKOnly, "Mensagem Confirmação")
'Limpa a caixa de listagem para começar uma nova seleção
'ctlDest.RowSource = ""
Else
'ctlDest.ListCount - conta quantos itens tem no ListBox - Destino, depois vem texto, depois vem que tipo
'de botao irá aparecer para o usuario, depois o título do MsgBox
MsgSalvar = MsgBox(ctlDest.ListCount & " - Registro salvo com sucesso", vbOKOnly, "Mensagem Confirmação")
'Limpa a caixa de listagem para começar uma nova seleção
'ctlDest.RowSource = ""
End If
Exit_Salvar_Click:
Exit Sub
Err_Salvar_Click:
MsgBox Err.Description
Resume Exit_Salvar_Click
End Sub
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
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.