
rodrigotnoma
Membros-
Total de itens
166 -
Registro em
-
Última visita
Tudo que rodrigotnoma postou
-
Então OSJunior, consegui resolver, era coisa de leigo mesmo. Mas mesmo assim, obrigado pela atenção. Rodrigo
-
Boa noite Sempre que inicio um projeto no Visual Studio 2005 e fecho, não consigo abri-lo novamente depois. Qual arquivo devo abrir para continuar o projeto do lugar em que parei, os forms, etc.... Pois já tentei abrir o .vbproj, o.vb, o .Designer.vb e até abre, mas não consigo visualizar o form com os buttons, textbox, etc... Desculpe a minha ignorância. Obrigado. Rodrigo
-
Sim, ele entra no IF.Ele não entra no Do While, dessa linha: Do While dr2.Read() Ele pula direto para: End If Saberia me ajudar?
-
(Resolvido) ComboBox exibe registros errados
pergunta respondeu ao rodrigotnoma de rodrigotnoma em .NET
OK quintelab, consegui aprender a forma correta. Obrigado. Rodrigo -
Estou usando 2 combobox, 1 BD chamado Times.mdb, que possui 2 tabelas(times,spfc), ambas tabelas possuem apenas 1 campo(nome). O código que carrega a primeira combobox: -------------------------------------------------------------------------------------------------------------------------------------------------------- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim conn As System.Data.OleDb.OleDbConnection Dim sql As String Dim cmd As System.Data.OleDb.OleDbCommand sql = "select * from times" conn = New System.Data.OleDb.OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=c:\bd\times.mdb;") conn.Open() cmd = New System.Data.OleDb.OleDbCommand(sql, conn) dr = cmd.ExecuteReader() Do While dr.Read() ComboBox1.Items.Add(dr("nome")) Loop conn.Close() End Sub ------------------------------------------------------------------------------------------------------------------------------------------------------ O código que deveria carregar a segunda combobox: ------------------------------------------------------------------------------------------------------------------------------------------------------- Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged TextBox1.Text = ComboBox1.SelectedItem Dim time As String Dim conn2 As System.Data.OleDb.OleDbConnection Dim cmd2 As System.Data.OleDb.OleDbCommand Dim sql2 As String Dim dr2 As System.Data.OleDb.OleDbDataReader time = ComboBox1.SelectedItem conn2 = New System.Data.OleDb.OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=c:\bd\times.mdb;") conn2.Open() If time = "SPFC" Then sql2 = "select * from spfc" cmd2 = New System.Data.OleDb.OleDbCommand(sql2, conn2) dr2 = cmd2.ExecuteReader() Do While dr2.Read() ComboBox2.Items.Add(dr2("nome")) Loop End If conn2.Close() End Sub ------------------------------------------------------------------------------------------------------------------------------------------------------- O textbox1 coloquei somente para verificar a string que estava "capturando" do combobox1. Enfim, o que acontece é que o combobox2 não carrega com os nomes dos jogadores que estão no BD. O que poderia estar fazendo de errado? Obrigado Rodrigo
-
Boa noite. Gostaria de saber a diferença entre o uso de DATASET e ADAPTER e o não uso.Para explikcar melhor colocarei o código, algumas partes estão como comentários: Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim conn As System.Data.OleDb.OleDbConnection Dim sql As String Dim cmd As System.Data.OleDb.OleDbCommand 'Dim da As System.Data.OleDb.OleDbDataAdapter 'Dim ds As DataSet Dim dr As System.Data.OleDb.OleDbDataReader sql = "select * from geral" conn = New System.Data.OleDb.OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=c:\inetpub\wwwroot\sistema_natureza\produtos.mdb;") conn.Open() cmd = New System.Data.OleDb.OleDbCommand(sql, conn) dr = cmd.ExecuteReader() 'da = New System.Data.OleDb.OleDbDataAdapter(sql, conn) 'ds = New DataSet() 'da.Fill(ds, "nome") Do While dr.Read() ComboBox1.Items.Add(dr("nome")) Loop conn.Close() Desta forma funcionou, o combobox exibiu os registros do BD. Como estou começando a trabalhar com .NET, qual seria a diferença de utilizar as partes que estão como comentários? (ds as DataSet e da as System.Data.Oledb.OledbDataAdapter) Obrigado e desculpe minha ignorância. Rodrigo
-
quando efetuo um select em um BD e tento exibir o resultado em um combobox, os registros são mostrados todos em uma linha só e não várias linhas, sendo cada uma um registro do BD. O código usado no Button "verificar": Dim sql2 As String Dim conn2 As System.Data.OleDb.OleDbConnection Dim cmd2 As System.Data.OleDb.OleDbCommand Dim dr2 As System.Data.OleDb.OleDbDataReader ComboBox1.Text = " " sql2 = "select * from produtos1" conn2 = New System.Data.OleDb.OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=c:\inetpub\wwwroot\sistema_natureza\produtos1.mdb;") conn2.Open() cmd2 = New System.Data.OleDb.OleDbCommand(sql2, conn2) dr2 = cmd2.ExecuteReader Do While dr2.Read() ComboBox1.Text += dr2("nome") & vbCrLf Loop conn2.Close() Se não estiver bem explicado é só me avisar. Obrigado. Rodrigo
-
Entendi e muito obrigado pelas explicações quintelab e gray. Rodrigo
-
Tenho que desenvolver uma aplicação que utilizará um leitor de código de barra.Gostaria de algumas sugestões de leitor para comprar e que tem fácil desenvolvimento no VB.NET. Obrigado. Rodrigo
-
OK, deu certo.... Mais uma vez obrigado....
-
OK, deu certo sim, mas gostaria de saber como fazer para controlar a largura das colunas, pois está cortando os nomes dos registros. E se possivel, me dizer o porque esta retornando valor nulo o: rs.Fields(coluna).Value Obrigado mais uma vez.
-
Private Function enchegrid(dados As String, sql As String) Set cn = New ADODB.Connection connstring = "provider=microsoft.jet.oledb.4.0;data source=c:\natureza\produtos.mdb;" cn.Open connstring MSFlexGrid1.Clear Set rs = cn.Execute(sql, , adCmdText) MSFlexGrid1.Rows = rs.Fields.Count + 1 MSFlexGrid1.Cols = rs.Fields.Count ReDim largura_coluna(0 To rs.Fields.Count - 1) ' exibe os cabeçalhos das colunas For coluna = 0 To rs.Fields.Count - 1 MSFlexGrid1.TextMatrix(0, coluna) = rs.Fields(coluna).Name largura_coluna(coluna) = TextWidth(rs.Fields(coluna).Name) Next coluna ' exibe o valor de cada linha linha = 1 Do While Not rs.EOF MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1 For coluna = 0 To rs.Fields.Count - 1 MSFlexGrid1.TextMatrix(linha, coluna) = rs.Fields(coluna).Value Depois estou chamando a função: Private Sub Form_Load() Call enchegrid("c:\natureza\produtos.mdb", "select * from tb_produto where quantidade < " & 50 & "") End Sub O erro esta ocorrendo na linha acima em vermelho: Invalid use of null O que poderia ser? Obrigado
-
????????????????
-
No meu fonte tem um timer que fica verificando se a impressão foi solicitada: Private Sub Timer1_Timer() Dim hPrinter As Long, lNeeded As Long, lReturned As Long Dim lJobCount As Long For Each impressora In Printers OpenPrinter impressora.DeviceName, hPrinter, ByVal 0& EnumJobs hPrinter, 0, 99, 1, ByVal 0&, 0, lNeeded, lReturned If lNeeded > 0 Then ReDim byteJobsBuffer(lNeeded - 1) As Byte EnumJobs hPrinter, 0, 99, 1, byteJobsBuffer(0), lNeeded, lNeeded, lReturned If lReturned > 0 Then lJobCount = lReturned Else lJobCount = 0 End If Else lJobCount = 0 End If ClosePrinter hPrinter Text1.Text = CStr(lJobCount) Text2.Text = lReturned Text3.Text = lNeeded If Text1.Text = 1 Then Form2.Show Sleep (5000) lNeeded = 0 lJobCount = 0 End If End Sub Tenho uma impressora colorida que demora mais para imprimir e os documentos ficam mais tempo na fila de impressão, assim o meu form2 é chamado mais de uma vez para a mesma impressão. Tem alguma forma ou ideia de como posso fazer para meu codigo não entender a mesma solicitação como um novo pedido de impressão? Talvez com um while???????? Obrigado
-
Claro que pode.... No meu caso em especifico eu realmente "necessito" que o form seja fechado somente quando clicado no button, não podendo dar a possibilidade do usuario fechar o form atraves do "X" nem de alt+f4.também concordo com você que utilizando teclas de atalhos é bem mais rapido, mas no meu caso a agilidade não tem importancia alguma. Obrigado pela resposta, deu tudo certo... vlw Rodrigo
-
No meu codigo coloquei: ' Cancel if ReadyToClose is false. Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) Cancel = Not ReadyToClose End Sub para desabilitar Alt + F4 li em alguns post que deveria fazer isso: Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) Cancel = 1 End Sub Mas tenho em um button isso: ReadyToClose = True Unload Me Realmente o Alt + F4 esta desabilitado, mas quando clico no button o form não fecha, porque? Se deixar o Cancel=NotReadyToClose O form fecha quando clico no botao, mas também fecha com Alt+F4. Obrigado Rodrigo
-
Da uma olhada http://support.microsoft.com/kb/316478] ou já tentou isso: SET variável = NEW Tipo Objeto ??????
-
Consegui resolver, no proprio data report tem uma function que faz sozinho. Mesmo assim valeu pela atenção. Rodrigo
-
Existe alguma forma de fazer Data Report com Sum? Tipo: No Connection1 inserir uma query: "select sum(paginas) as totalpaginas from tb_impressao where Data Between ? AND ? ORDER BY Data" ????? Fiz dessa forma e não consegui, se algume puder me ajudar, obrigado. Vlw
-
Opa Kuroi, Fiz o que você escreveu no post anterior, mas esta acontecendo um probleminha: Set cn = New ADODB.Connection connstring = "provider=microsoft.jet.oledb.4.0;data source=\\192.168.0.120\impressao\impressao.mdb;" cn.Open connstring If Combo2.Text = "Monocromatica" Then mês = Month(Date) impressora = impressora.DeviceName hora = Hour(Time) & ":" & Minute(Time) & ":" & Second(Time) cliente = Combo1.Text paginas = GetNumPages(impressora, p) ip = GetIPAddress() tipo = "m" Data = Day(Date) & "/" & Month(Date) & "/" & Year(Date) Set rs = cn.Execute("insert into tb_impressao(nome,hora,data,cliente,paginas,ip,tipo,mês) values('" & impressora & "','" & hora & "','" & Data & "','" & cliente & "','" & paginas & "','" & ip & "','" & tipo & "','" & mês & "')") MsgBox ("Impressão Cadastrada") Else mês = Month(Date) impressora = impressora.DeviceName hora = Hour(Time) & ":" & Minute(Time) & ":" & Second(Time) cliente = Combo1.Text paginas = GetNumPages(impressora, p) ip = GetIPAddress() tipo = "c" Data = Day(Date) & "/" & Month(Date) & "/" & Year(Date) Set rs = cn.Execute("insert into tb_impressao(nome,hora,data,cliente,paginas,ip,tipo,mês) values('" & impressora & "','" & hora & "','" & Data & "','" & cliente & "','" & paginas & "','" & ip & "','" & tipo & "','" & mês & "')") MsgBox ("Impressão Cadastrada") End If ReadyToClose = True Unload Me E no modulo coloquei isso: Public s As String Public paginas As String Public impressora As Variant E esta dando esse erro: Object Required O que pode seria? Vlw
-
No Form1 guardei 2 variaveis: For Each impressora In Printers OpenPrinter impressora.DeviceName, hPrinter, ByVal 0& EnumJobs hPrinter, 0, 99, 1, ByVal 0&, 0, lNeeded, lReturned If lNeeded > 0 Then ReDim byteJobsBuffer(lNeeded - 1) As Byte EnumJobs hPrinter, 0, 99, 1, byteJobsBuffer(0), lNeeded, lNeeded, lReturned If lReturned > 0 Then lJobCount = lReturned Else lJobCount = 0 End If Else lJobCount = 0 End If ClosePrinter hPrinter Text1.Text = CStr(lJobCount) Text2.Text = lReturned Text3.Text = lNeeded If Text1.Text = 1 Then s=impressora.DeviceName paginas=GetNumPages(s,p) MsgBox ("Impressão Cadastrada") Form2.Show lNeeded = 0 lJobCount = 0 lReturned = 0 End If Next Eu gostaria de utilizar essas duas variaveis em outro form e para isso sei que preciso declarar em um modulo como Public, mas como faço isso, alguém poderia dar um exemplo? Obrigado
-
OK, entendi e deu certo!!!!!!!!!! Vlw mais uma vez...
-
Opa, ali foi erro meu na hora de postar, entendi sim que devo usar impressora no lugar de Printer....e já estou usando...
-
Graymalkin e amigos.... No form2 que eu chamo na hora de imprimir tem um botao e 3 campos text. No botao coloquei esse codigo: Set Cn = New ADODB.Connection connstring = "provider=microsoft.jet.oledb.4.0;data source=\\192.168.0.120\impressao\impressao.mdb;" Cn.Open connstring If (Combo1.Text = "" Or Combo2.Text = "" Or Text1.Text = "") Then msgbox("Preencher todos os campos") Combo1.SetFocus Else If Combo2.Text = "Monocromatica" Then impressora = Printer.DeviceName hora = Hour(Time) & ":" & Minute(Time) & ":" & Second(Time) cliente = Combo1.Text paginas = Text1.Text ip = GetIPAddress() tipo = "m" Data = Day(Date) & "/" & Month(Date) & "/" & Year(Date) Set rs = Cn.Execute("insert into tb_impressao(nome,hora,data,cliente,paginas,ip,tipo) values('" & impressora & "','" & hora & "','" & Data & "','" & cliente & "','" & paginas & "','" & ip & "','" & tipo & "')") MsgBox ("Impressão Cadastrada") Else impressora = Printer.DeviceName hora = Hour(Time) & ":" & Minute(Time) & ":" & Second(Time) cliente = Combo1.Text paginas = Text1.Text ip = GetIPAddress() tipo = "c" Data = Day(Date) & "/" & Month(Date) & "/" & Year(Date) Set rs = Cn.Execute("insert into tb_impressao(nome,hora,data,cliente,paginas,ip,tipo) values('" & impressora & "','" & hora & "','" & Data & "','" & cliente & "','" & paginas & "','" & ip & "','" & tipo & "')") MsgBox ("Impressão Cadastrada") End If End If ReadyToClose = True Unload Me Para mim capturar a impressora que vou utilizar e não a padrão, posso fazer do mesmo jeito acima, ou tem outra forma melhor? E gostaria de obrigar o usuario a preencher todos os campos, caso fosse deixado em branco,o form voltaria a aparecer ou a impressão não seria realizada.Tentei fazer o que esta de vermelho mas não consegui pois assim que dou um OK no botao o programa é encerrado..... alguém poderia me ajudar? Obrigado
-
Private Sub Command1_Click() Set cn = New ADODB.Connection connstring = "provider=microsoft.jet.oledb.4.0;data source=\\192.168.0.120\impressao\impressao.mdb;" cn.Open connstring Set rp = cn.execute("select sum(paginas) as totalpagina from tb_impressao") Text1.Text = totalpagina End Sub quando clico no botão, nada aparece, nem mesmo erro.... alguém pode me dar uma luz?