
Garcia
Membros-
Total de itens
43 -
Registro em
-
Última visita
Tudo que Garcia postou
-
Tenta assim: Public sub FechaForms() dim oForm as object for each oForm in forms if oForm.name <> "Nome do MDI" then unload oForm end if next End Sub Antes de chamar seu form: FecharForms SeuForm.Show Beleza ? Funcionou ?
-
Crie um picturebox, jogue todos os seus controles dentro desse picture box e no scroll você atualiza o top do picturebox. Entendeu ?
-
Então... 1) A propriedade gridlines só aceita true ou false, ou seja, ou você tem linhas ou não. Isso que você quer fazer (gridlines somente para algumas opções), não rola com esse controle. 2) Ajuste a propriedade view para lvwReport Adicione as colunas Adicione os itens Ex.: Dim i As Integer Dim j As Integer Dim k As Integer With ListView1 .View = lvwReport For k = 1 To 5 .ColumnHeaders.Add k, "key" & k, "Coluna " & k Next k For i = 1 To 10 .ListItems.Add i, "lkey" & i, "Item " & i For j = 1 To 4 .ListItems(i).SubItems(j) = "Subitem " & j Next j Next i End With 3) Na propriedade click da listview coloque o código With ListView1 Text1.Text = .SelectedItem.Text Text2.Text = .SelectedItem.SubItems(1) End With Beleza ? Funcionou ? Abraço
-
Fiz uma string de conexão usando UDL e conecta perfeitamente, transportei essa string para o VB e ao tentar abrir a conexão dá esse erro. Isso começou a acontecer depois que atualizei minha máquina de Windows 2000 para XP. estou com todos os services pack do XP, o SP5 do VB e até o MDAC 2.8 eu instalei e nada ! Alguém já tomou esse erro ? Mistério !!!! Valeu !!!
-
Então cara... já tive esse problema e o único jeito que consegui resolver foi através dos eventos EnterCell e LeaveCell. Tem um API que captura o buffer do teclado, mas dá um trampo medonho pra programar. Sei lá, eu achei mais fácil guardar em que célula estava e pra onde foi o foco, com isso dá pra saber se foi pra cima, pra baixo ou pros lados. beleza ? Abraço, Garcia
-
E aí William... Já estou cadastrado ! Abraço, Garcia
-
Sem problemas. O SQL não necessita de rede. Instale o Server e trabalhe na boa. O que não funciona ?
-
Pelo que sei, o único jeito de resolver seu problema é fazendo um for e adicionando os itens um a um... isso é o que você não queria né ?! Abraço, Garcia
-
Aê William, na boa, nossO amigO
-
Tenta assim SELECT * INTO NOVATABELA FROM TABELA WHERE 1 = 2 beleza ? Abraço, Garcia
-
Cara, tutorial eu não sei, mas é bem simples. Veja o exemplo: Adicione um commom dialog no form e chame-o de oComm. 'Definir o filtro de tipos de arquivos oComm.Filter = "Pictures (*.bmp;*.ico)|*.bmp;*.ico|Todos (*.*)|*.*" 'Definir o diretório inicial oComm.InitDir = "C:\Windows" oComm.ShowOpen if oComm.Filename = "" then msgbox "Nenhum Arquivo Selecionado !" else msgbox "O Arquivo Selecionado é : " & oComm.FileName end if O mesmo serve para ShowSave. Com essas informações acima você consegue fazer quase tudo o que normalmente se usa. Se tiver alguma dúvida mais específica, é só postar. beleza ? Abraço, Garcia
-
Mesmo não recomendando que você faça isso, segue a rotina para seu problema: Public Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type Public Declare Function GetClipCursor Lib "user32.dll" (lprc As RECT) As Long Private Declare Function EnumDisplaySettings Lib "user32" Alias _ "EnumDisplaySettingsA" (ByVal lpszDeviceName As Long, ByVal iModeNum As Long, _ lpDevMode As Any) As Boolean Private Declare Function ChangeDisplaySettings Lib "user32" Alias _ "ChangeDisplaySettingsA" (lpDevMode As Any, ByVal dwflags As Long) As Long Const CCDEVICENAME = 32 Const CCFORMNAME = 32 Const DM_PELSWIDTH = &H80000 Const DM_PELSHEIGHT = &H100000 Private Type DEVMODE dmDeviceName As String * CCDEVICENAME dmSpecVersion As Integer dmDriverVersion As Integer dmSize As Integer dmDriverExtra As Integer dmFields As Long dmOrientation As Integer dmPaperSize As Integer dmPaperLength As Integer dmPaperWidth As Integer dmScale As Integer dmCopies As Integer dmDefaultSource As Integer dmPrintQuality As Integer dmColor As Integer dmDuplex As Integer dmYResolution As Integer dmTTOption As Integer dmCollate As Integer dmFormName As String * CCFORMNAME dmUnusedPadding As Integer dmBitsPerPel As Integer dmPelsWidth As Long dmPelsHeight As Long dmDisplayFlags As Long dmDisplayFrequency As Long End Type Dim DevM As DEVMODE Public Sub ChangeRes(iWidth As Single, iHeight As Single) Dim a As Boolean Dim i As Long Do a = EnumDisplaySettings(0&, i, DevM) i = i + 1 Loop Until (a = False) Dim b As Long DevM.dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT DevM.dmPelsWidth = iWidth DevM.dmPelsHeight = iHeight b = ChangeDisplaySettings(DevM, 0) End Sub Agora no Form digite o seguinte: Dim ResX As Single Dim ResY As Single Dim OldResX As Single Dim OldResY As Single Dim Resolucao As Boolean Private Sub Form_Load() ResX = 640 ResY = 480 Dim r As RECT Call GetClipCursor® OldResX = r.Right OldResY = r.Bottom If OldResX <> ResX And OldResY <> ResY Then Resolucao = True Call ChangeRes(ResX, ResY) Else Resolucao = False End If End Sub Private Sub Form_Unload(Cancel As Integer) If Resolucao = True Then Call ChangeRes(OldResX, OldResY) End If End Sub Essa rotina peguei de uma amigo, o Marcelo Mágico, no site lula.pro.br beleza ? Abraço, Garcia
-
É um saco, mas tenta assim: Na 1ª Tabela: SELECT * INTO NOVATAB FROM TAB1 Nas Demais: INSERT INTO NOVATAB SELECT * FROM TAB2 INSERT INTO NOVATAB SELECT * FROM TAB3 INSERT INTO NOVATAB SELECT * FROM TAB... beleza ? Abraço, Garcia
-
Você está se referindo a uma tabela ? Se for, é só colocar ORDER BY nomedocampo... beleza ?
-
Na boa... Seu usuário vai te xingar até... Isso que você tá querendo é possível mas é complicado. Tem que usar umas APIs e tal, mas o recomendado é que você redimensione seu form de 640x480 para 800x600 e assim por diante. beleza ? Abraço, Garcia
-
Tente assim: Dim sValor As Variant Dim i As Integer, j As Integer Open "C:\Arquivo.txt" For Input As #1 ReDim sValor(0) Do While Not EOF(1) ----i = i + 1 ----ReDim Preserve sValor(i) ----'Armazena cada linha em uma ocorrencia de sValor ----'Ex.: Linha 1 está em sValor(1) ----Input #1, sValor(i) Loop Close #1 If i >= 10 Then ----sValor(10) = "Essa é a linha 10" ElseIf i > 1 Then ----sValor(1) = "Seu arquivo não tem 10 linhas" End If Open "C:\Arquivo.txt" For Output As #1 For j = 1 To i ----Print #1, sValor(j) Next j Close #1 P.S.: Substitua o traço (-) por espaço em branco Funcionou ? Abraço, Garcia
-
Eu uso assim: Dim con as object, rs as object Dim strConexao as string Dim usuario as string, senha as string, servidor as string, bancodados As String strConexao = "Provider=SQLOLEDB.1;Persist Security Info=True;" strConexao = strConexao & "User ID=" & usuario & ";" strConexao = strConexao & "Password=" & senha & ";" strConexao = strConexao & "Initial Catalog=" & bancodados & ";" strConexao = strConexao & "Data Source=" & servidor Set Con = CreateObject("ADODB.Connection") Con.Open strConexao Set rs = CreateObject("ADODB.RecordSet") Set rs = Con.Execute("SELECT * FROM PUUSER") Vê se funciona... Só uns toques: 1. Na declaração Dim usuario, senha, servidor, bancodados As String Somente a variável bancodados é string, o restante é variant. Veja como eu declarei as variáveis 2. Finalizar Lembre-se sempre de encerrar a conexão e o recordset após o uso. Use: rs.close set rs = nothing cn.close set cn = nothing 3. Aproveitando código Como você vai conectar e desconectar o banco de dados várias vezes durante sua aplicação, crie as rotinas conectar e desconectar para facilitar a sua vida -------------------------------------------------------------------------------------------- beleza ? Abraço, Garcia