MENU CONFIGURAVEL

GREGO 24/05/2007 15:23:24
#218127
olá

tenho um menu popup que tem deve mostrar como opções para o usuário selecionar itens que vão estar em um banco de dados.
como faço para criar estes itens do menu em tempo de execução?

por exemplo

tem um menu ferramentas, dentro deste tem o item Equipamentos, dentro deste tem que ter todos os equipamentos que estão na minha tabela, tem que ser totalmente livre, porque eu posso ter 1 ou 1000 equipamentos cadastrados nesta tabela!

pessoal por favor! me ajudem so falta isso no sistema!

valew

RODRIGOMARCHESE 24/05/2007 15:52:19
#218134
Resposta escolhida
você vai ter que criar um menu inicial no editor de menus, depois utiliza o códito a seguir:

Private Sub cmdLotesExistentes_Click()

'CRIA MENU POP UP

Dim k As Integer

On Error GoTo trata

mnuDados(0).Caption = ""

'deleta itens do menu
For k = 1 To mnuDados.Count - 1
Unload mnuDados(k)
Next

If (rsrec Is Nothing) Then
Set rsrec = New ADODB.Recordset
End If
If rsrec.State = adStateOpen Then
rsrec.Close
End If
sqlRec = "Select TOP 20 * From viewCnabLotesRemessas Where TipoServico = 2 ORDER BY LOTEID"
rsrec.Open sqlRec, ConBD, adOpenKeyset, adLockOptimistic
If rsrec.EOF = False Then
k = 0
Do While rsrec.EOF = False
If k = 0 Then
mnuDados(k).Caption = "Lote: " & Trim(rsrec.Fields("LoteID").Value) & " " & Trim(rsrec.Fields("Data").Value) & " " & Trim(rsrec.Fields("DscServicoBco").Value)
mnuDados(k).Tag = Trim(rsrec.Fields("LoteID").Value)
Else
Load mnuDados(k)
mnuDados(k).Caption = "Lote: " & Trim(rsrec.Fields("LoteID").Value) & " " & Trim(rsrec.Fields("Data").Value) & " " & Trim(rsrec.Fields("DscServicoBco").Value)
mnuDados(k).Tag = Trim(rsrec.Fields("LoteID").Value)
End If
k = k + 1
rsrec.MoveNext
Loop
Load mnuDados(k)
mnuDados(k).Caption = "Novo Lote"
mnuDados(k).Tag = 0
Else
mnuDados(0).Caption = "Novo Lote"
mnuDados(0).Tag = 0
End If

If Not (rsrec Is Nothing) Then
Set rsrec = Nothing
End If

PopupMenu mnuLotes

trata:
If Err.Number <> 0 Then
Me.MousePointer = 0
MsgBox "O sistema gerou um erro: Número (" & Err.Number & ") na linha " & _
Erl & " de " & Me.Name & ", cuja descrição é (" & Err.Description & _
"). Anote e informe aos responsáveis.", vbCritical, Me.Caption
Err.Clear
End If

End Sub



GREGO 24/05/2007 16:53:46
#218152
nossa!

ual que resposta!

simplifiquei e fico assim

dim Contador as integer
contador =0

do while nof tb.eof
menu(contador).caption = tb!campo
tb.movenext
contador = contador +1
loop
Tópico encerrado , respostas não são mais permitidas