Ir para conteúdo
Fórum Script Brasil

Flafis

Membros
  • Total de itens

    3
  • Registro em

  • Última visita

Sobre Flafis

  • Data de Nascimento 03/05/1974

Contatos

  • MSN
    azzi53@hotmail.com

Perfil

  • Gender
    Female
  • Location
    Belo Horizonte

Flafis's Achievements

0

Reputação

  1. 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
  2. SOLUÇÃO Public Sub UnSelected(ByRef frm As Form) Dim ctlDest As Control Dim intRegCorr As Integer Dim con As Object Dim rs As Object Dim strItems As String Dim teste As String Set ctlDest = frm!lstDestino teste = frm!lstDestino.RowSource For intRegCorr = 0 To ctlDest.ListCount - 1 If ctlDest.Selected(intRegCorr) Then strItems = strItems & ctlDest.Column(0, _ intRegCorr) & ";" ctlDest.RowSource = teste ctlDest.RemoveItem Index:=intRegCorr End If Next intRegCorr teste = ctlDest.RowSource 'conta a quantidade de itens selecionados intCount = ctlDest.ListCount Set ctlDest = Nothing End Sub
  3. Estou construindo uma aplicação em Access e não consigo sair do lugar, pois criei um formulário onde possuo 2 caixas de listagem (list box) e uma eu listo conforme seleção de uma caixa de texto (combo box), quando clico na primeira, que contem nomes de pessoas vindo da tabela pessoas, consigo selecionar os que desejo e envio para a segunda caixa, porém quero permitir ao usuário remover ou voltar com alguns nomes. Ai é que está meu problema (dúvida) não sei como fazer isso. Ex: Lista de origem contem 4 nomes: Maria, Pedro, João e Ana, o usuario seleciona Ana, Maria e Pedro, ai quando ele quer retirar na Lista de destino o pedro, como faço?? Na Lista de destino já habilitei a propriedade Seleções Multiplas como Estendida, dessa forma o usuario poderá escolher quantos quiser, agora tem também um botão com a seta indicada para a Lista de Origem, como se os nomes escolhidos na Lista de destino voltasse para a Origem, porém é nesse momento que não sei como fazer!! Já consegui capturar os códigos dos nomes selecionados na Lista de destino, mas não sei como excluí-los da propriedade Origem da Linha (RowSource), se for preciso posto meu codigo aqui é só pedir, obrigada pela ajuda!!!
×
×
  • Criar Novo...