COMO PREENCHER?

USUARIO.EXCLUIDOS 20/04/2007 14:35:03
#213014
então consegui trazer o registro na combo da forma tradicional. o problema era um user control q uso. agora, como eu posso fazer com o registro 1- rafael já venha selecionado na combo?
HUGOSSOUZA 20/04/2007 14:39:47
#213020
list1.listindex = 0 '0 é o primeiro item da lista

USUARIO.EXCLUIDOS 20/04/2007 14:52:52
#213027
eu fiz essa função q preenche a combo:

Public Sub PreencheCombo(ByVal m_CDPFJ As String)
On Error GoTo Erro

Dim sSQL As String
Dim Rs As Object

sSQL = "SELECT"
sSQL = sSQL & " CD_SEQEMIT,"
sSQL = sSQL & " NOMEEMIT"
sSQL = sSQL & " FROM"
sSQL = sSQL & " EMITCHEQ"
sSQL = sSQL & " WHERE"
sSQL = sSQL & " CD_PFJ = " & CStrSQL(m_CDPFJ)
sSQL = sSQL & " ORDER BY"
sSQL = sSQL & " CD_SEQEMIT"

If Not ExecBanco(ACT_OPENRS, sSQL, Rs) Then GoTo Fim

If NumeroRegistros(Rs) > 0 Then

While Not Rs.EOF


cmbCHEQ_NOMEEMIT.AddItem SQLPegaColLng(Rs!CD_SEQEMIT) & "- " & SQLPegaColStr(Rs!NOMEEMIT)
cmbCHEQ_NOMEEMIT.ListIndex = 0
Rs.MoveNext
Wend

End If

aí eu chamo essa função numa outra q carrega a tela:

PreencheCombo m_CDPFJ

e joga isso para trazer o cpf formatato:

If SQLPegaColLng(Rs!TP_PFJ) = TPPFJ_Fisica Then
dRecebeCNPJ_CPF = SQLPegaColDbl(Rs(9))
objtxtCNPJ_CPF_CHEQUE.Texto = format(dRecebeCNPJ_CPF, g_sMascara_CPF)
Else
dRecebeCNPJ_CPF = SQLPegaColDbl(Rs(9))
objtxtCNPJ_CPF_CHEQUE.Texto = right(String(18, "0") & Replace(format(dRecebeCNPJ_CPF, g_sMascara_CNPJ), " ", ""), 18)
End If

só q quando jogo esse bloco a minha combo não vem preenchida. só depois q clico nela. e ainda quandi clica vem errado, vem 0- rafael quando teria q ser 1- rafael

qual o erro?
HUGOSSOUZA 20/04/2007 15:08:38
#213034
coloca listindex fora do while:


While Not Rs.EOF
cmbCHEQ_NOMEEMIT.AddItem SQLPegaColLng(Rs!CD_SEQEMIT) & "- " & SQLPegaColStr(Rs!NOMEEMIT)
Rs.MoveNext
Wend

cmbCHEQ_NOMEEMIT.ListIndex = 0


agora pq ele ta colocando 0 é estranho.
se você abrir a tabela qual o código do rafael?
THIGO 20/04/2007 15:27:39
#213044
amigo vc pode fazer dessa maneira tambem

vc pode declarar assim
dim I as integer 'isso para criar um novo index para a combo 

I = 0

While Not Rs.EOF
cmbCHEQ_NOMEEMIT.AddItem SQLPegaColLng(Rs!CD_SEQEMIT) & "- " & SQLPegaColStr(Rs!NOMEEMIT)
Rs.MoveNext
cmbCHEQ_NOMEEMIT.newindex = I
I = I + 1
Wend

USUARIO.EXCLUIDOS 20/04/2007 15:29:01
#213046
o código é 1 pro rafael.

estranho é q parece q de alguma forma é o campo cpf q está influenciando. pq quando eu tiro o campo cpf traz selecionado. mais aí quando coloco naum vem selecionado e vem zero ainda na combo.

pq isso? estranho
THIGO 20/04/2007 15:29:55
#213047
ops errei um negocinho



dim I as integer 'isso para criar um novo index para a combo

I = 0

While Not Rs.EOF
cmbCHEQ_NOMEEMIT.AddItem SQLPegaColLng(Rs!CD_SEQEMIT) & "- " & SQLPegaColStr(Rs!NOMEEMIT)

cmbCHEQ_NOMEEMIT.newindex = I

I = I + 1

Rs.MoveNext
Wend

THIGO 20/04/2007 15:33:05
#213049
entao faz assim

cmbCHEQ_NOMEEMIT.ItemData(cmbCHEQ_NOMEEMIT.NewIndex) = 'aqui voce coloca o codigo que é 

USUARIO.EXCLUIDOS 20/04/2007 15:35:16
#213050
thiago naum adiantou.

a minha função estava trazendo os dados numa matriz q criei. assim:

Private Type EmitenteCheque_Rec
ID_ATIVO As Long
TP_PESSOA As Long
CPFCNPJ As Double
CD_PFJ As String
CD_SEQEMIT As Long
CD_BANCO As Long
NOMEEMIT As String
NOMEAGENCIA As String
NUMAGENCIA As String
NUMCONTA As String
ID_BLOQUEIO As Long
DT_ABRECONTA As Date
End Type

Private m_EMITCHEQUE_Index As Long
Private m_EMITCHEQUE_Count As Long
Private m_EMITCHEQUE() As EmitenteCheque_Rec

Public Sub CarregaTela(ByVal m_CDPFJ As String)
On Error GoTo Erro
Dim sSQL As String
Dim Rs As Object
Dim iAux As Integer

Dim sRecebeNome As String
Dim lRecebeID As Long

ctlReferenciasPFJ.m_CDPFJ = m_CDPFJ
ctlReferenciasPFJ.CarregaTelaReferencias

ctlCreditoPFJ1.m_sCD_PFJ = m_CDPFJ

sSQL = "SELECT"
sSQL = sSQL & " CD_PFJ," '0
sSQL = sSQL & " CD_SEQEMIT," '1
sSQL = sSQL & " CD_BANCO," '2
sSQL = sSQL & " NOMEEMIT," '3
sSQL = sSQL & " NOMEAGENCIA," '4
sSQL = sSQL & " NUMAGENCIA," '5
sSQL = sSQL & " NUMCONTA," '6
sSQL = sSQL & " ID_BLOQUEIO," '7
sSQL = sSQL & " ID_ATIVO," '8
sSQL = sSQL & " CNPJ_CPF," '9
sSQL = sSQL & " TP_PFJ," '10
sSQL = sSQL & " DT_ABRECONTA" '11
sSQL = sSQL & " FROM"
sSQL = sSQL & " EMITCHEQ"
sSQL = sSQL & " WHERE"
sSQL = sSQL & " CD_PFJ = " & CStrSQL(m_CDPFJ)
sSQL = sSQL & " ORDER BY"
sSQL = sSQL & " CD_SEQEMIT"

If Not ExecBanco(ACT_OPENRS, sSQL, Rs) Then GoTo Fim

m_EMITCHEQUE_Index = -1
m_EMITCHEQUE_Count = NumeroRegistros(Rs)

If m_EMITCHEQUE_Count > 0 Then
'If NumeroRegistros(Rs) > 0 Then
iAux = 0

'ReDim m_EMITCHEQUE(m_EMITCHEQUE_Count)

While Not Rs.EOF

m_EMITCHEQUE(iAux).ID_ATIVO = SQLPegaColLng(Rs(8))
m_EMITCHEQUE(iAux).TP_PESSOA = SQLPegaColLng(Rs(10))


m_EMITCHEQUE(iAux).CPFCNPJ = SQLPegaColDbl(Rs(9))


m_EMITCHEQUE(iAux).CD_SEQEMIT = SQLPegaColLng(Rs(1))
m_EMITCHEQUE(iAux).CD_BANCO = SQLPegaColLng(Rs(2))
m_EMITCHEQUE(iAux).NOMEEMIT = SQLPegaColStr(Rs(3))
m_EMITCHEQUE(iAux).NOMEAGENCIA = SQLPegaColStr(Rs(4))
m_EMITCHEQUE(iAux).NUMAGENCIA = SQLPegaColStr(Rs(5))
m_EMITCHEQUE(iAux).NUMCONTA = SQLPegaColStr(Rs(6))
m_EMITCHEQUE(iAux).ID_BLOQUEIO = SQLPegaColLng(Rs(7))
m_EMITCHEQUE(iAux).DT_ABRECONTA = SQLPegaColDate(Rs(11))

iAux = iAux + 1

Rs.MoveNext
Wend
End If

Rs.Close

AtualizaTelaEmiCheque

ctlSociosPFJ.CarregaTela m_CDPFJ

ctlCreditoPFJ1.ConsultaDadosTitulos


Fim:
Exit Sub
Erro:
TrataErros "DadosClientePFJ - CarregaTela()", Err
End Sub


e o campo cpf é esse m_EMITCHEQUE(iAux).CPFCNPJ = SQLPegaColDbl(Rs(9))

só q numa matriz não aceita valores com o tipo double. porém o meu campo cpf foi tratado de uma forma no banco q só pode ser como tipo double. se eu tentar mudar pra integer ou long ele dá overflow.

então por estar dentro de uma matriz eu não consigo fazer com que quando carregue a tela o campo cpf venha formatado.

se alguém souber uma forma q eu consiga trazer o cpf formatado mesmo tando numa matriz.


vlw


THIGO 20/04/2007 15:37:04
#213051
exemplificando melhor vou te mostrar aqui


While Not Rs.EOF

cmbCHEQ_NOMEEMIT.AddItem SQLPegaColLng(Rs!CD_SEQEMIT) & "- " & SQLPegaColStr(Rs!NOMEEMIT)
cmbCHEQ_NOMEEMIT.ItemData(cmbCHEQ_NOMEEMIT.NewIndex) = Rs!CD_SEQEMIT 'aqui e o codigo do rafael que nem vc tinha dito
Rs.MoveNext
Wend


Página 3 de 4 [36 registro(s)]
Tópico encerrado , respostas não são mais permitidas