none
Como pegar o id do ultimo registro de uma tabela RRS feed

Respostas

  • olá pessoal consegui resolver o meu problema segue o código quem sabe pode ajudar alguém na mesma condição: Private Sub UltimaNota()
            Using con As OleDbConnection = getConnection()
                Try
                    con.Open()
                    Dim com As OleDbCommand = Nothing
                    Dim Ultima As Integer
                    com = New OleDbCommand("SELECT MAX(CodigoNotaFiscal) FROM Tab_Saida", con)
                    Ultima = com.ExecuteScalar()
                    Dim cmd As OleDb.OleDbCommand = New OleDbCommand(sql, con)
                    TextBox1.Text = Ultima
                Catch ex As Exception
                    MsgBox(ex.Message)
                Finally
                    con.Close()

                End Try
            End Using
        End Sub 
    • Marcado como Resposta Arlindo António segunda-feira, 9 de abril de 2018 16:53
    segunda-feira, 9 de abril de 2018 16:53

Todas as Respostas

  • Arlindo António,

       Acho que é isso:

    SELECT @@IDENTITY AS 'Identity';  
    GO  

    =====================================================================

    @@IDENTITY (Transact-SQL)

    https://msdn.microsoft.com/pt-br/library/ms187342(v=sql.120).aspx

    https://docs.microsoft.com/pt-br/sql/t-sql/functions/identity-transact-sql

    =====================================================================

    SCOPE_IDENTITY() - Pegar ultimo valor inserido em uma table e inserir em outra table

    https://social.msdn.microsoft.com/Forums/pt-BR/2c243988-29f8-46a8-9455-c4437a33a088/scopeidentity-pegar-ultimo-valor-inserido-em-uma-table-e-inserir-em-outra-table?forum=transactsqlpt

    =====================================================================

       Err... mas para inserir em uma textbox, basta fazer a consulta normal e jogar o valor lá...

    =====================================================================

    VB.NET - Operações com Dados que retornam registros

    http://www.macoratti.net/vbn_odrg.htm

    =====================================================================

    SQL - Selecionandos dados com SQL

    http://www.macoratti.net/vb_sql2.htm

    =====================================================================

    []'s,
    Fabio I.

    • Editado Fabio I sexta-feira, 6 de abril de 2018 19:40
    sexta-feira, 6 de abril de 2018 19:35
  • Oi, eu estou usando o bando de dados access, e o select que estou a a fazer é para exibir em um TextBox

    dei uma olhada nos link e não fez o que desejo, eu estava a tentar assim:

    Private Sub utimaNota()
              Dim sql As String = "SELECT TOP 1 CodigoNotaFiscal FROM Tab_Saida ORDER BY Data DESC"
                    

                    txtCodigoNotaFiscal.Text = sql
                   

                Catch ex As Exception
                    MsgBox(ex.Message)
                Finally
                    con.Close()
                    drUltimaNota.Close()
                End Try
            End Using
        End Sub

    sexta-feira, 6 de abril de 2018 19:52
  • Arlindo António,

       Experimente assim:

    SELECT MAX(CodigoNotaFiscal) FROM Tab_Saida

       Veja também:

    ======================================

    ASP .NET - Obtendo o último registro incluído no Access

    http://www.macoratti.net/d190404.htm

    ======================================

    []'s,
    Fabio I.

    sábado, 7 de abril de 2018 02:11
  • oi como é q eu jogo este select em um TextBox?

    segunda-feira, 9 de abril de 2018 12:39
  • Arlindo António,

       Você precisa abrir o banco de dados, a tabela e fazer uma leitura rápida colocando em um DataSource e depois receber o valor na textBox.

       Um exemplinho "1,2"... tosco..

       A CLASSE

    Imports System.Data.OleDb
    
    Public Class Class1
        Private dbcon As New OleDbConnection
        Private DBCmd As OleDbCommand
        Private DBDA As OleDbDataAdapter
        Public dbdt As DataTable
    
        Public Sub Executquery(ByVal query As String)
    
            Try
                dbcon.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\BANCODADOS\bd.accdb;Persist Security Info=False;"
                dbcon.Open()
                DBCmd = New OleDbCommand(query, dbcon)
                dbdt = New DataTable
                DBDA = New OleDbDataAdapter(DBCmd)
                DBDA.Fill(dbdt)
            Catch ex As Exception
                MessageBox.Show("deu erro")
            End Try
    
        End Sub
    
    End Class

       O FORM

        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            dados.Executquery("SELECT MAX(CodigoNotaFiscal) FROM Tab_Saida")
    
            If dados.dbdt.Rows.Count > 0 Then
                TextBox1.Text = dados.dbdt.Rows(0).Item(0).ToString()
            End If
    
        End Sub

    []'s,
    Fabio I.

    • Editado Fabio I segunda-feira, 9 de abril de 2018 13:41
    • Sugerido como Resposta Fabio I terça-feira, 10 de abril de 2018 01:57
    segunda-feira, 9 de abril de 2018 13:34
  • olá pessoal consegui resolver o meu problema segue o código quem sabe pode ajudar alguém na mesma condição: Private Sub UltimaNota()
            Using con As OleDbConnection = getConnection()
                Try
                    con.Open()
                    Dim com As OleDbCommand = Nothing
                    Dim Ultima As Integer
                    com = New OleDbCommand("SELECT MAX(CodigoNotaFiscal) FROM Tab_Saida", con)
                    Ultima = com.ExecuteScalar()
                    Dim cmd As OleDb.OleDbCommand = New OleDbCommand(sql, con)
                    TextBox1.Text = Ultima
                Catch ex As Exception
                    MsgBox(ex.Message)
                Finally
                    con.Close()

                End Try
            End Using
        End Sub 
    • Marcado como Resposta Arlindo António segunda-feira, 9 de abril de 2018 16:53
    segunda-feira, 9 de abril de 2018 16:53