vasquex Posted July 27, 2011 Report Share Posted July 27, 2011 Me he pasado mucho tiempo en esto pero aun no entiendo como puedo hacerlo: Tengo un boton buscar, un numero de ficha y numero de ingreso; lo que necesesito saber es como hacer que al momento de buscar un rut, se muestre un numero de ficha nuevo (tomando el ultimo numero de ficha de la tabla aumentado en 1)... pero si existe ese rut, sólo que se deba aumentar el numero de ingreso para ese rut y no aumentar el numero de ficha (debe ser el mismo que se guardó anteriormente). Espero que me puedan ayudar Saludos y gracias de atemano ;) Link to comment Share on other sites More sharing options...
Ra Posted July 28, 2011 Report Share Posted July 28, 2011 Bueno... crea un procedimiento almacenado en SQL con algo así: DECLARE @RET BIT SELECT @RET = 1 FROM tabla WHERE Rut = @Rut IF @@ROWCOUNT > 0 BEGIN SELECT Rut, Ficha, MAX(Ingreso) + 1 FROM tabla WHERE Rut = @Rut END ELSE BEGIN SELECT @Rut, MAX(Ficha) + 1, 1 FROM tabla END Bueno... básicamente, en la 1ª consulta, consultas si el rut existe... si existe, haces la selección correspondiente, pero si no existe, buscas el mayor de las fichas y me imagino que el Ingreso debería ser 1.... Espero te sirva... Salu2. Link to comment Share on other sites More sharing options...
vasquex Posted July 28, 2011 Author Report Share Posted July 28, 2011 (edited) Muchas gracias por tu ayuda :) mira lo hice así: Declare @Rut Varchar(50) declare @nofichaclinica Int declare @numero_de_ingreso Int DECLARE @RET BIT SELECT @RET = 1 FROM Paciente WHERE rut = @Rut IF @@ROWCOUNT > 0 BEGIN SELECT @rut, @nofichaclinica, MAX(@numero_de_ingreso) + 1 FROM Paciente WHERE @rut = @rut END ELSE BEGIN SELECT @rut, MAX(@nofichaclinica) + 1,1 FROM Paciente END y resulta que me muestra este resultado en sql server, si existiendo datos en la tabla NULL NULL 1 este procedure se ejecuta automaticamente cuando se ejecuta el programa? y está bien haber declarado las variables que no existian o solo tengo que llamarlas por el nombre de los campos? es necesario hacer algo más aparte de esto?? Saludos y espero tu ayuda. ;) Edited July 28, 2011 by vasquex Link to comment Share on other sites More sharing options...
Ra Posted July 28, 2011 Report Share Posted July 28, 2011 (edited) Lo que pasa estimado, es que el @Rut no lo debes declarar dentro del procedimiento almacenado... tienes que pasarlo como parámetro... CREATE PROCEDURE blablablabla @Rut VARCHAR(12) AS BEGIN blablablabla END Este procedimiento almacenado, lo llamas cuando presionas el botoncito.... Mira aquí Ah... y las consultas están malas... tienes que diferenciar entre el campo de la tabla y la variable... por ejemplo, tienes que hacer Rut = @Rut y no @Rut = @Rut porque si lo haces así, estás preguntando "algo" = "algo" Salu2. Edited July 28, 2011 by Ra Link to comment Share on other sites More sharing options...
vasquex Posted September 9, 2011 Author Report Share Posted September 9, 2011 (edited) Muchas gracias por tu respuesta. Mi lo hice y el resultado que me arroja es el siguiente: lo que no entiendo es porque me devuelve un valor 0 y que es eso de Return Value. Me podrian ayudar? Muchas Gracias y que Dios les Bendiga. Edited September 9, 2011 by vasquex Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now