Visual Basic.NET - Función para calcular el Maximo registro de una tabla

   
Vista:

Función para calcular el Maximo registro de una tabla

Publicado por Miguel Arce Nuñez (56 intervenciones) el 28/04/2016 19:19:18
Tengo esta función.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Public Function MaximoReg(ByVal campo As String, ByVal mitabla As String) As Integer
	Try
		OpenDatos()
		Dim SQL As String = "Select Max(" & campo & ") From " & mitabla & " Order By " & campo
		Dim cmd As New OleDb.OleDbCommand(SQL, cn)
		Dim valor As Integer = CInt(cmd.ExecuteScalar)
		If valor = 0 Then
			Return CInt(1)
		Else
			Return CInt(valor + 1)
		End If
	Catch ex As Exception
		MsgBox("Existe algún problema de datos con la tabla de " & mitabla & ".Compactar y Reparar")
	Finally
		CloseDatos()
	End Try
End Function

La aplicación que tengo trabaja con seis formularios con sus respectivas tablas cada uno.
Con cinco de las tabla dicha función calcula el valor del último registro sin ningún problema y solo en una el valor siempre me da cero, bien sea al inicio cuando esta vacía, o teniendo registros cargados. La tabla la he borrado y hecho nueva, pero sigue dando error.

Podría alguno decirme la razón de este error.

Gracias y un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Función para calcular el Maximo registro de una tabla

Publicado por Miguel (352 intervenciones) el 28/04/2016 20:08:40
Hola,
Concatena tu querry (en "campo" y "mitabla") con comillas simples, quizá sea eso.

Saludos,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Función para calcular el Maximo registro de una tabla

Publicado por Yamil Bracho (585 intervenciones) el 28/04/2016 20:20:07
Y cual es el error ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Función para calcular el Maximo registro de una tabla

Publicado por Miguel (56 intervenciones) el 29/04/2016 17:04:48
Ya he solucionado el problema, he cambiado la forma de controla del programa y me funciona.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Public Function MaximoReg(ByVal campo As String, ByVal mitabla As String) As Integer
	Try
		OpenDatos()
		MaximoReg = 0
		Dim SQL As String = "Select Max(" & campo & ") From " & mitabla
		Dim cmd As New OleDb.OleDbCommand(SQL, cn)
		MaximoReg = CInt(cmd.ExecuteScalar)
		Return CInt(MaximoReg + 1)
	Catch ex As Exception
		Return CInt(1)
	Finally
		CloseDatos()
	End Try
End Function

Gracias y un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar