terça-feira, 25 de novembro de 2008

Prospecto Loja



Prospecto Púlputo

terça-feira, 28 de outubro de 2008

sábado, 18 de outubro de 2008

Wallpaper Mustang badge 2010

Este é meu Primeiro Wallpaper, se alguém pegar, deixe um comentario! :D


segunda-feira, 13 de outubro de 2008

Agenda - modelo



Pesquisa simples com função AUTO-COMPLETAR

Comece o Banco de dados com tabela do Access com pelo menos um cadastro.

General declarations
Dim db As Database
Dim tb As Recordset

Os nomes, tb, db, Tcadastro, são apenas nomes fictícios, pode colocar os nomes que desejar, desde que, saiba organisá-los.
O nome que estiver declarado como Database, deverá estar relacionado com:
Set db = OpenDatabase(App.Path + "/agenda.mdb")

O nome que estiver declarado como Recordset, deverá estar relacionado com:
Set tb = db.OpenRecordset("dados", dbOpenDynaset)

Declare as referencias e vamos começar o Form_load:

Set db = OpenDatabase(App.Path + "/agenda.mdb")
Abre o banco de dados
Set tb = db.OpenRecordset("dados", dbOpenDynaset)
Seleciona a tabela a ser usada, gravada, e alterada pelo programa.

While tb.EOF = False
Serve para enquanto a tabela declarada estiver com o ( End of File = False ) ou seja, enquanto o arquivo da tabela estiver aberto, fazer a função que estiver escrita abaixo.
cbopesq.AddItem tb("nome")
adciona o campo da tabela expecificado à lista do combobox, o que nos ajudara no comando AUTO – COMPLETAR
DICA: Sempre o campo que for receber dados à esquerda, ou seja:
Receptor Doador


Tb.MoveNext, é como se fosse para descer um degrau no banco de dados, è o botão “Próximo” no programa da padaria, porém, funcionando automaticamente.

Portanto, o código do Form_load() deve ficar assim:
Set db = OpenDatabase(App.Path + "/agenda.mdb")
Set tb = db.OpenRecordset("dados", dbOpenDynaset)
While tb.EOF = False
cbopesq.AddItem tb("nome")
cbopesq.AddItem tb("cnpj")
lstn.AddItem tb("nome")
tb.MoveNext
Wend



Adicionando um ComboBox com a função de “AUTO - COMPLETAR”:

Ao darmos um duplo clique no ComboBox, vemos a seguinte linha de código:
Private Sub cbopesq_Change()

End sub
( Change, seria como uma mudança no combo, ou seja, a sua função normal )
Para fazer a função de AUTO – COMPLETAR você deve alterar o modo Change para

Private Sub cbopesq_KeyPress()

End sub

( KeyPress, dignifica que ele entra em ação, quando alguma tecla é pressionada )

Agora, teremos que criar uma Função no VB, 1º um exemplo prático do que é uma função:

_________________________________________________________________________
Function Limpeza()

Txt1 = “”
Txt2 = “”

End Function

Cmdlimpar_Click()

Limpeza

End sub

O que aconteceu ai ??
Ao declarar a função “Limpeza” todas as vezes que algo tiver escrito “Limpeza” em sua linha de código, como é o caso deste botão limpar, ele ira executar a função, não precisando digitar todas as txts todas as vezes.

Criaremos uma função para o AUTO – COMPLETAR
Detalhe: o código abaixo, você copia e cola, não é necessário alterar nada nem entender :D


Public Function Combo_AutoCompletar(xCombo As ComboBox, ByVal xKeyAscii As Long, Optional ByVal xUpperCase As Boolean = True) As Long
Dim lngFind As Long, intPos As Long, intLength As Long, tStr As String
With xCombo
If xKeyAscii = 8 Then
If .SelStart = 0 Then Exit Function

.SelStart = .SelStart - 1
.SelLength = Len(.Text)
.SelText = vbNullString
Else
intPos = .SelStart
tStr = .Text
.SelText = (Chr$(xKeyAscii))
' .SelText = IIf(xUpperCase, _
' UCase$(Chr$(xKeyAscii)), _
' LCase$(Chr$(xKeyAscii)))
End If
lngFind = SendMessage(.Hwnd, CB_FINDSTRING, 0, ByVal .Text)
If lngFind = -1 Then
.Text = tStr
.SelStart = intPos
.SelLength = (Len(.Text) - intPos)
Combo_AutoCompletar = xKeyAscii
Else
intPos = .SelStart
intLength = Len(.List(lngFind)) - Len(.Text)
.SelText = .SelText & Right$(.List(lngFind), intLength)
.SelStart = intPos
.SelLength = intLength
End If
End With
End Function


Podemos ver nesta função, que no final da segunda linha, esta escrito ou melhor, declarado a variável Keyascii as long
Então, em nosso combobox que estava:


Private Sub cbopesq_KeyPress()

End sub

Deve ficar:

Private Sub cbopesq_KeyPress(KeyAscii As Integer)

KeyAscii = Combo_AutoCompletar(cbopesq, KeyAscii)

End Sub






Modo de uso do programa:
Funciona da seguinte dorma:
Possui os botões: Pesquisar, Alterar, Excluir, Adicionar, Confirmar, Cancelar e OK.

Comandos básicos:
Alterar:
Tb.edit

Excluir:
tb.delete

Adicionar:
Tb.addnew


Simulação de uso:

O usuário digita um nome no combobox de pesquisa e clica em PESQUISAR, todos os dados são preenchidos. Ao preencher os dados, ele tem as seguintes opções:
ALTERAR: altera os dados.
EXCLUIR: exclui os dados.
Ok: Apaga todos os campos da tela, para uma nova pesquisa

Caso clique no botão ALTERAR ou EXCLUIR, terá as seguintes opções:
CONFIRMAR: faz a ação desejada.
CANCELAR: cancela a ação, e apaga todos os campos da tela, para uma nova pesquisa.

Caso ele clique em ADICIONAR, terá as seguintes opções:
CONFIRMAR: faz a ação desejada.
CANCELAR: cancela a ação, e apaga todos os campos da tela, para uma nova pesquisa.

Linha de Código:
Como você pode perceber, vários botões tem a função de alterar dados na tabela, e apagar os dados dos campos, por isso criei funções como inserir e limpe:
Function inserir()
tb("nome") = txtnome.Text
tb("endereco") = txtender.Text
tb("cidade") = txtcid.Text
End Function

Function limpe()
txtnome.Text = ""
txtender.Text = ""
txtcid.Text = ""
End function

A Criação de funções, facilita na organização, diminui a quantidade de linhas de código, e evita com que haja demora ao executar determinada tarefa no programa.

Vamos aos botões:

Digamos que o botão confirmar, é como se fosse um “chaveador”, um “divisor de funções ” entre os botões.
Exemplo. Se você clicar no alterar, ele deve ter a função de gravar os dados na tabela, o mesmo com o inserir. E o excluir ele deleta os dados da tabela.
Para isso, criei a variável que deve ser declarada Dim btn As single.
Detalhe: Na maioria dos meus botões tem a função escrever, ( txtnome tb(“Nome”) ), que serve pra o usuário ter uma maior agilidade e é sempre bom ter programas pra vários tipos de jeitos de pessoas. Ex:
Você pode clicar no PESQUISAR e depois ALTERAR, que seria o normal. Ou, desse jeito, você também tem a opção de clicar direto no ALTERAR q faz a mesma função. Vai de gosto.

UCase : Transforma os dados para maiúsculo, ou seja, não faz diferença se pesquisar Marina, marina ou MaRiNa.

Pesquisar:
tb.MoveFirst Move para o primeiro da do da tabela
While tb.EOF = False

If UCase(tb("nome")) = UCase(cbopesq) Then Tansforma tudo para maiúsculo
escrever
Exit Sub
End If
Tb.MoveNext Move para o próximo para continuar a pesquisa

Alterar:
tb.MoveFirst
While tb.EOF = False

If UCase(tb("nome")) = UCase(cbopesq) Then
txtnome.SetFocus
escrever
confi1.Visible = True
can1.Visible = True
ok1.Visible = False bloqueia o botão OK
tb.Edit
btn = 2 Adiciona o valor 2 na variável btn ( veremos o motivo no confirmar)
Exit Sub
End If
tb.MoveNext
Wend

Excluir:
tb.MoveFirst
While tb.EOF = False

If UCase(tb("nome")) = UCase(cbopesq) Then
escrever
btn = 3
confi1.Visible = True
can1.Visible = True
ok1.Visible = False
Exit Sub
End If
tb.MoveNext
Wend



Cadastrar
tb.AddNew
btn = 1

Ok:
Limpe

Confirmar:
If btn = 1 Then Se for atribuido o valor 1 (clicando no botão cadastrar) faça:
inserir
tb.Update

limpe


End If

If btn = 2 Then Se for atribuido o valor 2 (clicando no botão alterar) faça:

inserir
tb.Update

limpe
End If

If btn = 3 Then Se for atribuido o valor 3 (clicando no botão excluir) faça:

tb.Delete

limpe
End If

Cancelar:
limpe

Brush in Mustang




sábado, 11 de outubro de 2008