
Gabriel Cabral
Membros-
Total de itens
406 -
Registro em
-
Última visita
Tudo que Gabriel Cabral postou
-
Valeeeeu kuroi exatamente o que eu precisava ;) Muito obrigado
-
Olá pessoal.... procurei aki no forum e em outros lugares mas não axei nada sobre isso.... o problema é o seguinte... Tenho um campo q armazena datas...mas este campo é do tipo texto... as datas armazenadas são do tipo dd/mm/aa.... então faço um select e quero q num MSHFlexGrid, os registros fiquem ordenados por data..... StringSQL = "SELECT * FROM Tabela ORDER BY Campo_Data" mas o que acontece é que fica ordenado por dia..depois por mes... ficando por exemplo: 03/08/07 04/08/07 04/09/07 05/08/07 05/09/07 06/01/07 Uma solução seria mudar o campo para o tipo data/hora.... mas ele ficaria m/d/aa e eu preciso q ele fique dd/mm/aa o que posso fazer??? Obrigado
-
Graaaaaaaande Graymalkin tirando apenas uma linha do codigo, resolveu-se o problema.. muito obrigado Muito obrigado também ao Joaozava
-
Mas daí não seria uma busca dinamica... que é o que tenho que fazer
-
Estava mesmo Graymalkin.. eu o coloquei logo abaixo do achou = True Agora o registro encontrado está ficando no topo da gride... mas ainda sim, a cada letra digitada, a barra de rolagem vai ate o inicio da gride...percorrendo desde o primeiro registro até o registro encontrado... tem alguma forma da gride não ficar sendo percorrida do inicio até o registro encontrado a cada letra digitada??? Obrigado
-
Então Graymalkin... eu fiz o que você indicou... agora apenas um registro fica em azul... o codigo ficou assim... Private Sub txtBuscaMSH_Change() achou = False Gride.Col = 2 For i = 1 To Gride.Rows - 1 If Gride.TextMatrix(i, 2) Like txtBuscaMSH & "*" Then If achou = False Then Gride.Row = i Gride.TopRow = i Gride.CellBackColor = vbBlue Gride.CellForeColor = vbWhite achou = True End If Else Gride.Row = i Gride.TopRow = i Gride.CellBackColor = vbWhite Gride.CellForeColor = vbBlack End If Next i If achou = True Then txtBuscaMSH.BackColor = vbWhite txtBuscaMSH.ForeColor = vbBlack Else txtBuscaMSH.BackColor = vbRed txtBuscaMSH.ForeColor = vbWhite End If End Sub Mas surgiu um outro problema... a cada letra digitada, a barra de rolamento percorre o MSHFlexGrid inteiro e pára la embaixo, no ultimo registro... o registro digitado fica pintado em azul....mas não fica "em primeiro" na MSHFlexGride, de acordo com o TopRow... o que deve estar errado??? obrigado
-
Oi minha gente..... estou com um problema com cores em celulas do MSHFlexGrid quando faço uma busca dinamica.... Utilizo esse código para realizar a busca dinamica [indicado pelo grande Graymalkin] Private Sub txtBuscaMSH_Change() txtBuscaMSH.Text = UCase(txtBuscaMSH.Text) achou = False Gride.Col = 2 For i = 1 To Gride.Rows - 1 If Gride.TextMatrix(i, 2) Like txtBuscaMSH & "*" Then Gride.Row = i Gride.TopRow = i Gride.CellBackColor = vbBlue Gride.CellForeColor = vbWhite achou = True Exit For End If Next i If Not achou Then txtBuscaMSH.BackColor = vbRed txtBuscaMSH.ForeColor = vbWhite Else txtBuscaMSH.BackColor = vbWhite txtBuscaMSH.ForeColor = vbBlack End If End Sub Surge então o problema... suponhamos q na mshflexgrid tenho os nomes Daniel, Diego, Diogo, Douglas se na textbox eu digito a letra d, a celula do Daniel fica em azul mas se continuo digitando e digito diogo, as celulas do Daniel, do Diego e do Diogo ficam em azul... axo q isso acontece porque nas textbox esta digitado o "D" do daniel o "Di" do Diego e o "Dio" do Diogo tem como apenas uma celula por vez ficar em azul...??? assim....se eu digitar D, o daniel fica em azul...mas se depois do D vier um i o daniel fosse desmarcado porque ele não tem "Di" no nome se tiver como, alguém me ajude por favor.... obrigado
-
então kuroi...fiz exatamente o que você indicou.... mas não ta convertendo pro formato "99:99" o que ta errado??? :(
-
Poutz fahledu não é isso não =( eu não sei se não ta dando certo porque faço calculo com datas utilizando o TimeSerial, ou pode não ter nada a ver... mas obrigado de qualquer forma
-
Ae gente.....to com um problemão aqui.... assim.....tenho duas textbox com horarios e um vai subtrair do outro... eles estao subtraindo perfeitamente... exceto por uma coisa... supondo que a operação será txtTempo1 - txtTempo2 txtTempo1 = 00:15 [15 minutos] txtTempo2 = 00:20 [20 minutos] então..... txtTempo1 - txtTempo2 = ???? na teoria seria igual a - 00:05 [menos 5 minutos] mas isso não existe.... então o que acontece é que ao invés de fazer txtTempo1 - txtTempo2, o programa faz txtTempo2 - txtTempo1 aí o resultado fica 00:05 eu queria era q se txtTempo1 fosse menor que txtTempo2, o resultado desse 00:00 mas isso não acoontece =/ já tentei isso... If txtTempo1.Text < txtTempo2.Text Then DadosAtendimentos.Recordset.Fields("campo_tempo").Value = "00:00" End If mas não deu em nada... alguém me ajuda por favooooorrr !!!!! obrigado
-
Ae kuroi...consegui... ficou assim Set Conex = New ADODB.Connection Conex.Open StringDeConexao SQL = "Select * From Data" Set rs = Conex.Execute(SQL) If DateSerial(rs!Ano, rs!Mes, 1) < DateSerial(Year(Date), Month(Date), 1) Then If MsgBox("Deseja atualizar o Tempo Disponível dos clientes?", vbQuestion + vbYesNo, "Sistempo") = vbYes Then SQL = "Update Clientes Set Cli_TempoDisp = '05:00'" Conex.Execute (SQL) SQL = "Update Data Set Ano = " & Year(Date) & ", Mes = " & Month(Date) Conex.Execute SQL Else MsgBox "Emitir relatórios e atualizar Tempo Disponível dos clientes.", vbExclamation + vbOKOnly, "Sistempo" End If End If um outro problema que estava impedindo a funcionalidade do programa era porque faltava o Set Conex = Nothing no Unload do form principal agora está tudo funcionando perfeitamente muito obrigado
-
Coloquei isso mas o mesmo erro continua na mesma linha a linha fica em vermelho e a parte "Update Clientes Set Cli_TempoDisp = '" fica selecionada em azul
-
não ficaria assim??? Private Sub MDIForm_Load() SQL = "Select * From Tabela" Set rs = cn.Execute(SQL) If DateSerial(rs!Ano, rs!Mes, 1) < DateSerial(Year(Date), Month(Date), 1) Then "Update Clientes Set Cli_TempoDisp = '" & 05:00 & "'" SQL = "Update Tabela Set Ano = " & Year(Date) & ", Mes = " & Month(Date) cn.Execute SQL End If End Sub mas ta dando erro na linha "Update Clientes Set Cli_TempoDisp = '" & 05:00 & "'" o erro diz: Compile error: Expected: line number or label or statement or end of statement mas não era isso q tinha que fazer???
-
?? sugeri o timer pra você pro caso de o programa estar aberto quando o mês mudar, ai você teria que checar de tempos em tempos. se você achar que não precisa do timer (ou seja, você tem certeza que ninguém vai tar usando o programa a 00:00 do dia 30), você pode checar a data, so quando ele abrir o programa por exemplo. veja se você entendeu e se é possivel a ideia que eu passei acima, qualquer coisa poste ai. não sei como fazer pra saber o ultimo mes que um registro foi alterado.... não sei o que usar pra fazer isso ao mudar o mes :(
-
Auto-incremento Sem Ter Um Campo Auto-incremento
pergunta respondeu ao Gabriel Cabral de Gabriel Cabral em Visual Basic
Aah...olhei o tópico entendi um pouco mas não consegui fazer -
Ordem Alfabética No Mshflexgrid
pergunta respondeu ao Gabriel Cabral de Gabriel Cabral em Visual Basic
Graaande kuroi... certinho muito obrigado -
Ordem Alfabética No Mshflexgrid
pergunta respondeu ao Gabriel Cabral de Gabriel Cabral em Visual Basic
usei sim o codigo que você me passou....mas não ta dando nada.... ta ordenado por código ainda aí kuroi consegui fiz o seguinte Private Sub Form_Load() Set Conex = New ADODB.Connection Dim strCaminho As String StringSQL = "SELECT * FROM Clientes ORDER BY Cli_NomeFantasia" Conex.Open StringDeConexao Set rs = New ADODB.Recordset rs.Open StringSQL, Conex, adOpenDynamic, adLockOptimistic Set Gride.DataSource = rs rs.Close Set rs = Nothing End Sub Muito obrigado pela ajuda ________________________________________________________________ Ah.... mais uma pequena duvida.... Set Conex = New ADODB.Connection Conex.Open StringDeConexao StringSQL = "SELECT * FROM Clientes WHERE Cli_Codigo Between " StringSQL = StringSQL & CDbl(txtDe) & " AND " & CDbl(txtAte) Set rs = New ADODB.Recordset rs.Open StringSQL, Conex, adOpenDynamic, adLockOptimistic If rs.EOF Then MsgBox "Não foram encontrados registros equivalentes." Set Gride.DataSource = rs Gride.Refresh rs.Close Set rs = Nothing onde eu coloco o ORDER BY aqui ????? Obrigado -
Ordem Alfabética No Mshflexgrid
pergunta respondeu ao Gabriel Cabral de Gabriel Cabral em Visual Basic
intao kuroi... o que eu tenho que colocar com .Execute ??? ainda não sei usar direito... nada funciona preciso urgente usar ADO -
Ordem Alfabética No Mshflexgrid
pergunta respondeu ao Gabriel Cabral de Gabriel Cabral em Visual Basic
hmmmmm não deu também..... deu o mesmo erro.... é sim....chama-se Adodc1 e tá conectado -
Ordem Alfabética No Mshflexgrid
pergunta respondeu ao Gabriel Cabral de Gabriel Cabral em Visual Basic
Então kuroi.... fiz assim Na vdd estou usando ADODC :P Adodc1.Recordset.Sort = Cli_NomeFantasia mas deu o erro--->>> Run-time error '91': Object variable or With block variable not set ____________________________________________________________ Na hora do select seria: sql = "SELECT * FROM Clientes ORDER BY Cli_NomeFantasia" ?????? tem algo errado aí?? tem algo a mais?? porque também não deu certo assim obrigado -
aí pessoal... tenho uma MSHFlexGrid com todos os dados e tal.... eles estão ordenados por código... gostaria de saber se tem como deixar ordenado por ordem alfabética do campo de nomes usando DataControl :unsure: Obrigado
-
aí pessoas..... alguém saberia me responder se é possivel eu ter um campo para codigo, e ao cadastrar um novo registro, o numero seja o proximo do registro cadastrado anteriormente??? isso o campo codigo não sendo auto-incremento.... Utilizo DataControl Obrigado
-
aí Graymalkin certinho.... muito obrigado
-
Você está dizendo o seguinte SQL = GABRIEL txtCNPJ.Text = SQL Logo: txtCNPJ.Text = GABRIEL Entendeu? Nooooooooosssssaaaaaaa verdade..... mas o que eu devo fazer intao??? não consigo de jeito nenhum
-
Olá pessoal uma pequena dúvida.... tenho um MSHFlexGrid e quando estou com o foco em determinada celula, gostaria de abrir um form ao apertar a tecla Enter tem como??? obrigado OOOOpa minha gente.... já consegui resolver aqui shauishaiushaiushiuas vou colocar aqui o que fiz caso alguém tenha a mesmo duvida Private Sub Gride_KeyPress(KeyAscii As Integer) If KeyAscii = vbKeyReturn Then Form1.Show KeyAscii = 0 End If End Sub Tópico de uma pessoa só shuaihsiuahsuahs até que venha o William e o feche hehehe Vlw minha gnt