Ir para conteúdo
Fórum Script Brasil

leitis

Membros
  • Total de itens

    17
  • Registro em

  • Última visita

Tudo que leitis postou

  1. Ola pessoal, estou precisando de uma ajudinha com um problema relacionado e referencia a formulário que o seguinte: Tenho um Form principal desacoplado da base de dados e nesse form tenho cinco Subforms no formato (folha de dados) cada um acoplado em suas respectivas tabelas e cada uma com seu relacionamento devidamente configurado (um para muitos). Não quero fazer a entrada de dados diretamento no formulario principal, gostaria de faz isso abrindo formulários popup em modo janela restrita e para tal tenho dois botões NOVO e EDITAR . Para abrir um registro já existente para edição já consegui far direitinho, mas o problema esta na inclusão de um novo registro visto que tenho que carregar o form popup já com o (valor do campo [id_cliente] no controle [txt_id_cliente]). No formulário principal (não vinculado a dados) os subs estão vinculados hierarquicamente: SubForm1 SubForm2 Exemplo do SubForm2 Vincular Campos Filhos: id_cliente Vincular Campos Mestres: [subForm1].Form![id_cliente] O SubForm1 é carregado assim: (SELECT tbl_clientes.id_cliente, tbl_clientes.nome_cliente FROM tbl_clientes;) O SubForm1 é carregado assim: (SELECT tbl_ordem_servico.id_ordem, tbl_ordem_servico.id_cliente FROM tbl_ordem_servico;) Preciso por o código no Load do popup e carregar no controle [txt_id_cliente] o valor do id_cliente existente na tabela tbl_clientes. Desde já agradeço pele ajuda possível.
  2. leitis

    Duvida Formulario

    você pode criar um controle imagem no seu frm e explorar a propridade Picture atravez de uma condicional. Exemplo: If Me!EmUso = "ocupado" then Me!MayPicture.Picture = "c:\Windows\ocupado.bmp" Else Me!mayPicture.Picture = "c:\Windows\vago.bmp" End If Lembrando que neste exemplo estou considerando o campo EmUso como uma String "ocupado", mas você deve adapitar o código conforme sua necessidade.
  3. Na origem do registro: SELECT id_cliente, nome_cliente, endereco, cidade, cep, estado, telefone, celular FROM tbl_clientes ORDER BY nome_cliente; No Evento: Private Sub id_cliente_AfterUpdate() Me!cxNomeCliente = Me!id_cliente.Column(1) Me!cxEndereçoCliente = Me!id_cliente.Column(2) Me!cxCidade = Me!id_cliente.Column(3) Me!cxCep = Me!id_cliente.Column(4) Me!cxEstado = Me!id_cliente.Column(5) Me!cxTelefone = Me!id_cliente.Column(6) Me!cxCelular = Me!id_cliente.Column(7) End Sub Lembrando que id_cliente.Column(0) é o ID do cliente
  4. Va em ferramentas, opeções e clique na aba avançado. Veja como seu banco esta sendo abeto, se é compartilhado ou exclusivo.
  5. leitis

    Limites Access

    Todas estas respostas estão aqui: http://forumaccess.com/eve/forums/a/tpc/f/...921/m/614608921
  6. Desculpe a demora é que estou muito ocupado mesmo, não to conseguindo nem ler meus email. O controle seria um listbox: Número de colunas = quantas você necessitar Largura das colunas = como você quizer Tipo de origem da linha = tabela/consulta Origem da Linha = sua consulta Qualquer duvida retorne.
  7. O que é um módulo? Um módulo é uma coleção de declarações e procedimentos do Visual Basic for Applications armazenados conjuntamente, formando uma unidade. Existem dois tipos básicos de módulos: módulos classe e módulos padrão. Cada procedimento em um módulo pode ser um procedimento Function ou um procedimento Sub. Módulos classe Módulos de formulário e de relatório são módulos classe que estão associados a um determinado objeto (formulário ou relatório). Os módulos de formulário e relatório freqüentemente contêm procedimentos de evento que são executados em resposta a eventos no formulário ou relatório. Quando você cria o primeiro procedimento de evento para um formulário ou relatório, o Access cria automaticamente um módulo de formulário ou relatório associado. São estes os módulos classe e ficam nos pastidores dos seu objetos, ou seja, para se ter acesso a estes módulos temos entrar no modo estrutura do seu objeto. Módulos padrão Os módulos padrão contêm procedimentos de uso geral que não estão associados a nenhum outro objeto e procedimentos utilizados com freqüência, que podem ser executados a partir de qualquer lugar do seu Aplicativo. Tudo o que esta em um módulo padrão pode ser utilizado em qualquer objeto (formulário ou relatório) do seu aplicativo. São aqueles modulos que estão na sessão módulos do access.
  8. leitis, vou estar fazendo os testes e retorno os resultados... vlw a força! exemplo: Dim msg As String If Me.seu_controle.ListCount > 12 Then Me.Undo msg = MsgBox("mamae estou aqui", vbInformation + vbYesNo, "Titulo") If msg = vbYes Then MsgBox "Vem almoçar filho", vbInformation + vbYesNo, "Titulo" End If Else MsgBox "joãozinho onde esta você?", vbInformation + vbYesNo, "Titulo" End If
  9. Desculpe a demora, é que estou muito aterefado ultimamente. No cabeçalho de seu módulo classe: Option Compare Database Option Explicit Private Wks As DAO.Workspace No evento open do form principal: Set Wks = DBEngine.Workspaces(0) Dim rst_sub As DAO.Recordset Dim SQL_sub As String SQL_sub = "SELECT * FROM tbl " & _ "WHERE ((([tbl].[campo])="parametro"));" Set rst_sub = Wks.Databases(0).OpenRecordset(SQL_sub) Set Me.seu_sub_form.Form.Recordset = rst_sub espero ter ajudado.
  10. O que quer dizer muito pequeno? Não entendi ainda seu problema. Que tipo de aplicação você quer rodar com esse banco.
  11. Atravez de um procedimento tente explorar a propriedades ListCount, ListRows e ListIndex do objeto.
  12. você esta publicando a variavel em que tipo de módulo?
  13. sim, este forum é totalmente armazenado no access: http://leitis.net/grupos/forum/ qualquer duvida retorne.
  14. Na propriedade origem do registro do sub form SELECT * FROM tbl WHERE ((([tbl].[campo])="parametro")); espero ter ajudado.
  15. alguém sabe como posso fazer essa atualização, por favor !!!!!!srsrrsrsr Este procedimento deve ser feito via código DAO. Se você substituir uma tabela por outra causará inconsistencia de dados e terá problemas com relacionamentos e muitos outros que virão. Qualquer mudificação deve ser feito DAO visto que esta linguagem tem todos os objetos necessarios de acesso a dados. Mestre, como funciona esse codigo DAO ??? será que consigo usar??? você tem que usar UPDATE: Exemplo dos métodos Update e CancelUpdate (VB) Este exemplo mostra o método Update junto com o método CancelUpdate. Public Sub UpdateX() Dim rstEmployees As ADODB.Recordset Dim strOldFirst As String Dim strOldLast As String Dim strMessage As String ' Abrir conjunto de registros com nomes da tabela Employees. strCnn = "Provider=sqloledb;" & _ "Data Source=srv;Initial Catalog=Pubs;User Id=sa;Password=; " Set rstEmployees = New ADODB.Recordset rstEmployees.CursorType = adOpenKeyset rstEmployees.LockType = adLockOptimistic rstEmployees.Open "SELECT fname, lname " & _ "FROM Employees ORDER BY lname", strCnn, , , adCmdText ' Armazenar dados originais. strOldFirst = rstEmployees!fname strOldLast = rstEmployees!lname ' Alterar dados no buffer de edição. rstEmployees!fname = "Linda" rstEmployees!lname = "Kobara" ' Mostrar conteúdo do buffer e obter entrada do usuário. strMessage = "Edit in progress:" & vbCr & _ " Original data = " & strOldFirst & " " & _ strOldLast & vbCr & " Data in buffer = " & _ rstEmployees!fname & " " & rstEmployees!lname & vbCr & vbCr & _ "Use Update to replace the original data with " & _ "the buffered data in the Recordset?" If MsgBox(strMessage, vbYesNo) = vbYes Then rstEmployees.Update Else rstEmployees.CancelUpdate End If ' Mostrar os dados resultantes. MsgBox "Data in recordset = " & rstEmployees!fname & " " & _ rstEmployees!lname ' Restaurar dados originais porque isso é uma demonstração. If Not (strOldFirst = rstEmployees!fname And _ strOldLast = rstEmployees!lname) Then rstEmployees!fname = strOldFirst rstEmployees!lname = strOldLast rstEmployees.Update End If rstEmployees.Close End Sub Este exemplo mostra o método Update junto com o método AddNew. Public Sub UpdateX2() Dim cnn1 As ADODB.Connection Dim rstEmployees As ADODB.Recordset Dim strEmpID As String Dim strOldFirst As String Dim strOldLast As String Dim strMessage As String ' Abrir uma conexão. Set cnn1 = New ADODB.Connection strCnn = "Provider=sqloledb;" & _ "Data Source=srv;Initial Catalog=Pubs;User Id=sa;Password=; " cnn1.Open strCnn ' Abrir conjunto de registros com dados da tabela Employees. Set rstEmployees = New ADODB.Recordset rstEmployees.CursorType = adOpenKeyset rstEmployees.LockType = adLockOptimistic rstEmployees.Open "employee", cnn1, , , adCmdTable rstEmployees.AddNew strEmpID = "B-S55555M" rstEmployees!emp_id = strEmpID rstEmployees!fname = "Bill" rstEmployees!lname = "Sornsin" ' Mostrar conteúdo do buffer e obter entrada do usuário. strMessage = "AddNew in progress:" & vbCr & _ "Data in buffer = " & rstEmployees!emp_id & ", " & _ rstEmployees!fname & " " & rstEmployees!lname & vbCr & vbCr & _ "Use Update to save buffer to recordset?" If MsgBox(strMessage, vbYesNoCancel) = vbYes Then rstEmployees.Update ' Ir para o novo registro e mostrar os dados resultantes. MsgBox "Data in recordset = " & rstEmployees!emp_id & ", " & _ rstEmployees!fname & " " & rstEmployees!lname Else rstEmployees.CancelUpdate MsgBox "No new record added." End If ' Excluir novos dados porque isso é uma demonstração. cnn1.Execute "DELETE FROM employee WHERE emp_id = '" & strEmpID & "'" rstEmployees.Close End Sub Não esqueça de usar transação Exemplo dos métodos BeginTrans, CommitTrans e Rollback Este exemplo altera o nome do cargo de todos os representantes de vendas na tabela Funcionários do banco de dados. Quando o método BeginTrans iniciar uma transação que isola todas as alterações feitas na tabela Funcionários, o método CommitTrans salvará as modificações. Observe que você pode usar o método Rollback para desfazer as alterações que salvou usando o método Update. Além disso, a transação principal é aninhada dentro de outra transação que automaticamente reverte todas as alterações feitas pelo usuário durante esse exemplo. Uma ou mais páginas da tabela permanecem protegidas enquanto o usuário decide se aceita ou não as alterações. Por esse motivo, esta técnica não é recomendada, sendo mostrada apenas como um exemplo. Sub BeginTransX() Dim strNome As String Dim strMensagem As String Dim wrkDefault As Workspace Dim dbsNorthwind As Database Dim rstFuncionários As Recordset ' Obter o Workspace padrão. Set wrkDefault = DBEngine.Workspaces(0) Set dbsNorthwind = OpenDatabase("Northwind.mdb") Set rstFuncionários = _ dbsNorthwind.OpenRecordset("Funcionários") ' Início da transação externa. wrkDefault.BeginTrans ' Início da transação principal. wrkDefault.BeginTrans With rstFuncionários ' Fazer o loop pelo conjunto de registros e ' perguntar se o usuário deseja alterar o cargo ' do funcionário especificado. Do Until .EOF If !Cargo = "Representante de vendas" Then strNome = !Sobrenome & ", " & !Nome strMessage = "Funcionário: " & strNome & vbCr & _ "Alterar o cargo para Diretor de contas?" ' Altera o cargo do funcionário ' especificado. If MsgBox(strMessage, vbYesNo) = vbYes Then .Edit !Cargo = "Diretor de contas" .Update End If End If .MoveNext Loop ' Perguntar se o usuário aceita todas as ' alterações feitas acima. If MsgBox("Salvar todas as modificações?", vbYesNo) = vbYes Then wrkDefault.CommitTrans Else wrkDefault.Rollback End If ' Imprimir os dados atuais no conjunto de registros. .MoveFirst Do While Not .EOF Debug.Print !Sobrenome & ", " & !Nome & _ " - " & !Cargo .MoveNext Loop ' Reverter todas as alterações feitas pelo ' usuário porque esta é uma demonstração. wrkDefault.Rollback .Close End With dbsNorthwind.Close End Sub
  16. alguém sabe como posso fazer essa atualização, por favor !!!!!!srsrrsrsr Este procedimento deve ser feito via código DAO. Se você substituir uma tabela por outra causará inconsistencia de dados e terá problemas com relacionamentos e muitos outros que virão. Qualquer mudificação deve ser feito DAO visto que esta linguagem tem todos os objetos necessarios de acesso a dados.
×
×
  • Criar Novo...