Ir para conteúdo
Fórum Script Brasil

Xistyle

Membros
  • Total de itens

    355
  • Registro em

  • Última visita

Tudo que Xistyle postou

  1. Aqui tenho o 2007, mas acredito que o 2010 consiga ler os arquivos 2007.
  2. Cara, esqueci que não tenho o Office 2010 aqui :x não consegui passar do minhaConexao.Open, pois o arquivo não é reconhecido. :/
  3. Zipa sua pasta do projeto e disponibiliza.
  4. Seria possível compartilhar esse banco de dados e seu projeto, para eu fazer um pequeno teste aqui? Fica mais fácil de analisar e te passar a solução.
  5. Na verdade acho que o problema é com o Access 2010. O provider ou a string de conexão. Usando o seu código, coloque o OleDb.OleDbConnection, assim como fez para o OleDb.OleDbCommand. Olhe como o rapaz usou o OleDb, só que com Access 2003: OleDbConnection Tente isso também: Dim minhaConexao As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=caminhoBD\meuBD.accdb;Jet OLEDB:Database Password=xxxx; Persist Security Info=False;") minhaConexao.CursorLocation = adUseClient Antes do ExecuteReader() dê um minhaConexao.Open(). UPDATE: o driver de conexão do Access 2007 e 2010 são os mesmos.
  6. Sinceramente não estou familiarizado com o objeto OleDbDataReader. Fiz um exemplo alimentando um DataSet. Module bas_DLookup Public Function DLookup(ByVal SearchFld As String, ByVal SearchTbl As String, ByVal SearchCriteria As String) As Object Dim minhaConexao As New OleDBConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Syscontrol\BD.accdb;Jet OLEDB:Database Password=xxxxxxx;") Dim Cmd As OleDb.OleDbCommand Dim meuDataSet As New DataSet Dim meuDataAdap As OleDbDataAdapter Dim Value As Object = DBNull.Value DLookup = Nothing Cmd.Connection = minhaConexao Cmd = New OleDb.OleDbCommand("SELECT " & SearchFld & " FROM " & SearchTbl & " WHERE " & SearchCriteria) meuDataAdap = New OleDbDataAdapter(cmd, minhaConexao) meuDataAdap.Fill(meuDataSet, "Resultado") If Microsoft.VisualBasic.Left(SearchFld, 1) = "[" Then SearchFld = Microsoft.VisualBasic.Right(SearchFld, Microsoft.VisualBasic.Len(SearchFld) - 1) End If If Microsoft.VisualBasic.Right(SearchFld, 1) = "]" Then SearchFld = Microsoft.VisualBasic.Left(SearchFld, Microsoft.VisualBasic.Len(SearchFld) - 1) End If If (Reader.Read()) Then Value = IIf(meuDataSet.Tables("Resultado").Rows(0)(SearchFld).ToString() Is Nothing, "", meuDataSet.Tables("Resultado").Rows(0)(SearchFld).ToString()) End If DLookup = Value End Function End Module Isso no caso de retornar apenas uma linha. Inseri também o New para instaciar a conexão. PS: desculpe pelo código, não cheguei a testar. Estou meio enrolado aqui no serviço :x Pode ter alguns errinhos de sintaxe/semântica.
  7. Bom... com password seria essa string: Provider=Microsoft.ACE.OLEDB.12.0;Data Source=caminhoBD\meuBD.accdb;Jet OLEDB:Database Password=minhaSenha; Tente manter o provedor OleDB12. Qualquer novo problema, poste com seu código :)
  8. Apenas complementando as explicações do AlifyZ, existem várias formas de desenvolvimento: Web, Windows Form (desktop), WPF, Mobile... Os exemplos iniciais, durante o aprendizado de uma linguagem NORMALMENTE são passados em console. Ou seja, os programas são com a cara do MS-DOS :)
  9. Bom, vamos as dúvidas: 1) Existem várias formas de você carregar os dados digitados. Você pode fazer isso através de um banco de dados, ou gravar essa informação de outras maneiras. Você poderia, por exemplo, salvar esses dados em um arquivo XML, em um arquivo ini, em um arquivo txt, no registro do Windows e de outras inúmeras formas. Primeiro então você deve definir como irá salvar esses dados, para depois montarmos uma forma de gravação e carregamento. 2) Teste o código desse link para verificação do Caps Lock: Estado do Caps Lock
  10. Bem vindo ao mundo do VS2010! Mais especificamente ao VB.Net :D Irá gostar! Bom, vamos ao que interessa: sugiro que monte uma classe que contenha todas as suas funções no banco de dados. Você está fazendo tudo certinho, com exceção de instanciar a conexão com o banco de dados. O VS2010 já fornece alguns provedores de conexão com o banco. O OleDB é um deles, assim como SQL e tantos outros. Cada provedor possui uma string de conexão específica, que permitirá a conexão com o banco de dados escolhido. As vezes fica difícil de se lembrar qual a ordem e string corretas de conexão. Pra isso, usamos o ConnectionStrings. Nesse seu caso, seria a seguinte, com o Access 2007: Dim minhaConexao As OleDBConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=caminhoBD\meuBD.accdb;Persist Security Info=False;") Pronto. Sua conexão está montada. Na classe que sugeri acima, com funções de banco de dados, você criar o método Conectar. Nisso, você passa a string de conexão e dá um minhaConexao.Open(), para indicar que irá iniciar as ações (INSERT, UPDATE...) no banco. Depois fica tranquilo, todo o código que postou acima, funcionaria se tivesse iniciado a conexão da forma que expliquei. O único porém é que teria que vincular a conexão ao OleDBCommand. No seu código, ficaria assim: Dim minhaConexao As OleDBConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=caminhoBD\meuBD.accdb;Persist Security Info=False;") Dim Cmd As OleDb.OleDbCommand Dim Reader As OleDb.OleDbDataReader Dim Value As Object = DBNull.Value DLookup = Nothing Cmd.Connection = minhaConexao Cmd = New OleDb.OleDbCommand("SELECT " & SearchFld & " FROM " & SearchTbl & " WHERE " & SearchCriteria) Reader = Cmd.ExecuteReader() Espero ter ajudado!
  11. Xistyle

    Dúvidas VB.net

    Foi mal Henrique! Faz um tempinho que não programo em VB.Net, ai passei o evento do C#. Tente no evento Leave e faça os testes. Depois poste os resultados.
  12. Xistyle

    Dúvidas VB.net

    No design, quando você clica no seu textBox2, por exemplo, vão aparecer as propriedades do lado direito, contendo Name, Text, Height, essas coisas. Dentro desse espaço de propriedades, observe que terá um "raio", próximo a um ícone AZ. Esse raio indica os eventos, que são ações desse componente. Lá terá um evento chamado LostFocus. Dê um duplo clique nele e ele já irá criar o código do evento. Ai basta inserir essas validações dentro do método criado :D
  13. Xistyle

    Dúvidas VB.net

    Olá Henrique, seja bem vindo! Com relação a sua dúvida 1, você pode colocar seu bloco de código dentro do evento LostFocus() do seu TextBox. A dúvida 2 pode em partes usar a resposta da 1. Normalmente usa-se o tipo de dado double para armazenar valores de moeda (devido aos centavos). Tem gente que usa string, mas não é a forma mais correta. Primeiramente você terá que converter o seu textBox2.Text = 2, por exemplo, para decimal: Dim valorReal As Decimal valorReal = CDbl(textBox2.Text) Depois você deve formatar esse valor. Por padrão ele virá no formato americano que usa ponto ao invés de vírgula como separação dos decimais (centavos, nesse caso). Por fim, seu código pode ficar assim: Dim valorReal As Decimal valorReal = CDbl(textBox2.Text) 'Retorna o valor formatado para o textBox2 textBox2.Text = FormatCurrency(valorReal, 2, TriState.True, TriState.False, TriState.True) Tente esses passos e qualquer problema poste novamente :D
  14. Xistyle

    Simples.

    Mesmo esquema: //Cria sua ListView em tempo de execução ListView lista = new ListView(); private void AdicionaItemLista(string valor) { lista.Items.Add(valor); }
  15. Acredito que o Silverlight tenha alguma funcionalidade similar, o que facilitaria a integração com o VS. Mas normalmente essa delimitação de estados é feita em flash. http://www.backspace.com/mapapp/ Esse site tem algum conteúdo, inclusive um mapa do Brasil para ser baixado.
  16. Beleza Dayana! Espero ter ajudado! Qualquer nova informação ou idéia, poste ai pra nós discutirmos :D
  17. Xistyle

    Simples.

    Se você for colocar essa função na mesma classe que contém o ListView, ficaria algo mais ou menos assim: //Você nem precisa passar o listview como parâmetro, visto que a chamada é "local" private void AdicionaItemLista(string valor) { seuListView.Items.Add(valor); } Se você for trabalhar com chamada de uma outra classe, ficaria assim: public ListView AdicionaItemLista(ListView lista, string valor) { lista.Items.Add(valor); return lista; } //Na sua classe que contém o ListView, você irá atribuí-lo seuListView = suaClasse.AdicionaItemLista(seuListView, "NovoItem");
  18. Bom Dayana... os sistemas que dei manutenção tinham algo similar. Um TextBox que o usuário digitaria qualquer informação e o sistema se "virava" pra encontrar o resultado. Contudo, esses sistemas tinham um ComboBox, com o tipo de informação que o usuário gostaria de pesquisar. Se tiver algo parecido ai fica mais fácil (não menos trabalhoso). Se não tiver um ComboBox mas você tiver a liberdade para adicioná-lo, é uma solução simples. Você vai ter que testar qual é o tipo de informação pesquisada e remover os caracteres indevidos. Irá perceber que muita coisa poderá ser reaproveitada (campos númericos poderão ser testados com expressão regular, campos como placa e CPF/CNPJ podem usar o mesmo padrão de remoção de pontos, traços, etc). Dessa forma, você cria o seu padrão de pesquisa/formatação :)
  19. Se entendi bem sua dúvida, você gostaria de pegar o valor, por exemplo ABC1234 e comparar com ABC-1234? Se você tiver um padrão de pesquisa, por exemplo, pesquisar tudo que contenha apenas letras e caracteres, você pode montar um método que recebe essa string e remover/testar esses pontos, traços, etc (usando Replace como o kuroi disse ou testando com expressões regulares). Exemplo: Dim PlacaCarro As String 'PlacaCarro deve receber o valor do campo no banco de dados PlacaCarro = dataTable.Rows(i)("PlacaCarro").ToString(); If txtPlacaCarro.Text = RemoveCaracteres(PlacaCarro) Then 'OK deu certo Else 'Erro não batem End If Private Function RemoveCaracteres(String texto) As String texto = texto.Replace(".", "") texto = texto.Replace("-", "") ... 'Outras remoções Return texto End Function Se sua dúvida for essa, é só um exemplo bem simples :D
  20. Xistyle

    Tratando valor DECIMAL

    Recebeu minha MP com o código? Se sim, cola pro pessoal ai :D
  21. Marcelo, você terá que trabalhar com alguns controles no evento do click do botão Imprimir. Dá uma olhada nesse link. É uma das formas de fazer a conexão, antes de solicitar o carregamento dos dados no relatório: http://csharp.net-informations.com/crystal...namic-login.htm PS: nesse link é criado um objeto ReportDocument que já carrega o arquivo rpt e depois só associa esse documento ao ReportViewer. O código está em C# mas é simples de fazer a conversão pra VB.NET :D
  22. Xistyle

    Valor da Progressbar

    Seu loop está varrendo todos os arquivos de uma determinada pasta e alimentando o valor atual da ProgressBar. O ideal é você fazer uma contagem da quantidade de arquivos da pasta e atribuir esse total para o valor máximo da ProgressBar. Depois no foreach, caso existam arquivos, colocar o ProgressBar1.Value++ para incremento. Ou seja, se sua pasta possui 7 arquivos, irá concatenar uma unidade no valor, mas isso aparecerá de forma proporcional pra você na ProgressBar. Se você usar o máximo com valor 100, esse seu arquivo lido terá, visualmente falando, uma porção pequena na sua ProgressBar.
  23. Não entendi sua dúvida... Você quer pegar o 99 e colocar o TextBox2 e o outro 99 e colocar no TextBox3?
  24. Cara dá uma modificada nisso e ve se resolve teu problema: Dim Total As DateTime = DateTime.Now; For (i = 0 To dgvProjeto.Rows.Count - 1) '# Aqui você deve fazer a conversão das suas horas para double, no parâmetro do AddHours Total = Total.AddHours(dgvProjeto.Rows(i)("HorasTrabalhadas").ToString()); Next Dim ts As TimeSpan = new TimeSpan.FromHours(Total.ToOADate()); MessageBox.Show(string.Format("{0} {1}",ts.Hours, ts.Minutes)); Existem algumas maneiras de você fazer essa conversão. Basta dar uma olhada no Google. Eu particularmente alimentaria a grid fazendo duas colunas: uma com o dia e outra com a hora, usando o DatePart() do SQL.
  25. Seu form tem uma propriedade chamada BackgroundImage. Use e abuse dela.
×
×
  • Criar Novo...