Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   ayuda con sql Sever (https://www.clubdelphi.com/foros/showthread.php?t=76841)

amell2020 30-11-2011 15:03:12

ayuda con sql Sever
 
hola amigos, inquietud es que mi sql server la tabla que tengo como factura tiene una columna llamada precio el cual tipo de esa columna es money, resulta que los registro que inserto el precio me sale en formato 1000.000 y yo lo quiero que este en este formato 1,000.00.

y por otro lado yo quiero que formulario donde estan los campo de mi tabla. edit que tengo para poner el precio que ella automáticamente me ponga en el formato 1,000.00 no de esta forma 100000. bueno espero que me puedan entender a que me refiero, gracias

oscarac 30-11-2011 15:18:48

me parece que el tema de "presentacion" no se maneja en la base de datos

lo que puedes hacer es controlar el formato que desees en el componente que utilizas para capturar los datos (query o tabla)

amell2020 30-11-2011 15:35:58

Okay como puedo hacer eso, me puedes dar un ejemplo por favor?

ecfisa 30-11-2011 15:37:30

Hola.

Es como dice el amigo oscarac.

Cita:

quiero que este en este formato 1,000.00.
Por tu mensaje parece que deseas que el separador de miles sea una coma y el separador decimal un punto.

Probá si te sirve de este modo:
Código Delphi [-]
  ...
  ThousandSeparator := ',';
  DecimalSeparator := '.';
  TFloatField(DataSet.FieldByName('PRECIO')).DisplayFormat := '0,00.00';
  ...

Saludos.

amell2020 30-11-2011 15:41:25

perdon por la ignorancia pero donde pongo ese codigo?

oscarac 30-11-2011 15:43:05

mmmm
pregunta..
donde estas trabajando?
estas haciendo consultas en un componente delphi o estas trabajando en el analizador de consultas del SQL Server

amell2020 30-11-2011 15:44:29

okay mira: yo tengo unos edit que llenos y luego los guardo en db, yo lo que quiero es que cuando yo este digitando en el edit precio se muestre como dije ante el valor,

ecfisa 30-11-2011 15:56:32

Cita:

Empezado por amell2020 (Mensaje 419974)
perdon por la ignorancia pero donde pongo ese codigo?

Hola.

No hay nada que perdonar. :)

Podés ponerlo en el evento OnCreate del form donde esté el TDBGrid,

Saludos.

amell2020 30-11-2011 16:06:55

bueno mejor de dejo una imagen para vea que quiero?, donde esta ese edit yo le escribo la cantidad y debe mostrar en formato como yo quiero para luego guardarlo

amell2020 30-11-2011 16:08:41

1 Archivos Adjunto(s)
aqui esta la imagen

oscarac 30-11-2011 16:19:54

que estas usando para mostrar el Grid?
una tabla o un query?

en cualquiera de los 2.. le das doble click al componente (ADOTABLE o ADOQUERY), aparece nu cuadradito donde si precionas CTRL + A, apareceran los campos del query o la tabla (eso se llama campos persistentes)
una vez ahi, seleccionas el campo que desees y en la parte del ObjectInspector (presionando F11), aparecen las propiedades del campo

hay una propiedad llamada DisplayFormat, ahi puedes colocar asi #,#.00 o tambien como dice ecfisa 0,0.00

Neftali [Germán.Estévez] 30-11-2011 16:33:21

También se puede hacer de forma visual, si tienes los FieldDef creados.
¿Cómo accedes a esa tabla desde Delphi? ¿Tabla, Query?



En las propiedades de cada campo, puedes definir la máscara de visualización y afecta´rá a todos los componentes "ligados" a ese campo.

amell2020 30-11-2011 16:53:06

amigos vale, yo no tengo ningun query ni un adoquery, yo solo tengo simplemente es un edit para yo escribirle yo quiero que en el momento de escribir aparesca como dije antes de guardarlo, no me interesa como se guarde solo como se vea a la hora de escrbir en el edit que muestra la imagen que puse de muestra

oscarac 30-11-2011 17:00:16

no hay concordancia con lo que dices....

primero dices que tienes una tabla factura con el camop precio, luego que quieres editar ese precio, ahora dices que no tienes ni query ni tabla?

quiza estas utilizando EDIT cuando debes Utilizar DBEDITS

amell2020 30-11-2011 17:06:09

bien amigo creo que me explique mal, mira yo uso los varios edit y tengo un boton para guardar los datos de esos edit en un tabla.

El problema es que en edit precio me sale formato numero la cantidad, yo estoy buscando como hago cuando escribo una cantidad en edit precio salga en formato como explique anteriormente.

ahora no se si estoy haciendo mal, al utilizar edit en ves DBedit.
corrección por favor

oscarac 30-11-2011 17:13:52

Cita:

Empezado por amell2020 (Mensaje 419994)
bien amigo creo que me explique mal, mira yo uso los varios edit y tengo un boton para guardar los datos de esos edit en un tabla.

El problema es que en edit precio me sale formato numero la cantidad, yo estoy buscando como hago cuando escribo una cantidad en edit precio salga en formato como explique anteriormente.

ahora no se si estoy haciendo mal, al utilizar edit en ves DBedit.
corrección por favor

Si los datos que vas a manipular son los de la tabla.. es recomendable usar DBEDITS, usando este componente podras darle el formato que desees

amell2020 30-11-2011 17:17:16

okay, pero mira yo utilizo edit en vez de dbedit porque cuando activo el adotable me presenta el ultimo registro yo quiero que parezca solo en blanco el formulario de ese registro por eso decidí usar edit para guardarlo con un boton.

que puedo hacer para eso??

oscarac 30-11-2011 17:19:48

Cita:

Empezado por amell2020 (Mensaje 420001)
okay, pero mira yo utilizo edit en vez de dbedit porque cuando activo el adotable me presenta el ultimo registro yo quiero que parezca solo en blanco el formulario de ese registro por eso decidí usar edit para guardarlo con un boton.

que puedo hacer para eso??

te presenta el ultimo registro (o el que sea) cuando tu le das editar... si quieres agregar un registro en blanco tienes que hacerle un append

amell2020 30-11-2011 17:25:28

si yo entiendo yo quiero que este en blanco y tener un boton para guardalo no dbnavagacion,
como hago eso??

oscarac 30-11-2011 17:27:21

Cita:

Empezado por amell2020 (Mensaje 420004)
si yo entiendo yo quiero que este en blanco y tener un boton para guardalo no dbnavagacion,
como hago eso??

no entendi.. que es eso de dbnavagacion... asumo que debe ser el dbnavigator
te recomiendo que seas un poco mas explicita (o) porque tu pregunta origibal solo se trato de formato de numero... ahora ya estamos hablando de grabar el numero, menciona un poco mas que es lo que necesitas..

amell2020 30-11-2011 17:54:24

la verdad creo estoy explicando mal. te pregunto? si tu harias un formulario para registra por ejemplo un factura?
donde tu tiene nombre del cliente
de talles
y cantidad.

bueno yo utilice unos edit para eso y boton para guardar los datos que edito en fomulario. el evento del boton es este:
Código SQL [-]
//GUARDA LA FACTURA DE HOSPITALIZACION:
 Guardar.Active;
  Guardar.Insert;

Guardar.FieldByName('FECHA DE HOSPITALIZACIÓN').AsDateTime:=DateTimePicker1.Date;
Guardar.FieldByName('FECHA DE ALTA').AsDateTime:=DateTimePicker2.Date;
Guardar.FieldByName('DIAS DE HOSPITALIZACIÓN').AsInteger:=strToint(Edit2.Text);
Guardar.FieldByName('TIPO DE SALA').AsInteger:=strToint(DBEDIT5.Text);
Guardar.FieldByName('MEDICO DE HOSPITALIZACIÓN').AsInteger:=strToint(Edit21.Text);
Guardar.FieldByName('COSTO TOTAL DE HOSPITALIZACIÓN').AsString:=Edit23.Text;
Guardar.FieldByName('RISPACIENTES').AsInteger:=strToint(Edit1.Text);
Guardar.Post;

yo solo preguntaba si no hay manera de como hacer para cuando yo escriba en el edit de precio me aparesca en formato de millares con coma y de decimales con punto, cuando escribo en el edit que no esta conectado ninguna tabla, adoquery. esa es mi pregunta amigo, disculpa por las molestia?

oscarac 30-11-2011 20:30:43

no es molestia....
todo tu problema se soluciona al usar DBEDITS

olbeup 30-11-2011 20:53:53

Lo que amell2020 está buscando en vez de TEdit es TMaskEdit.

Lo que pretendes es que cuando estés escribiendo en el TEdit el mismo TEdit te formatee el valor que estas introduciendo, en vez de poner un TEdit coloca un TMaskEdit en el Inspector de Objectos pones en el EditMask: 9,999.99;1;

Para que cuando estés escribiendo te esté formateando el valor que estas introduciendo pasando de un valor 100000 a un valor 1,000.00

Pero si lo que quieres es seguir con el TEdit, eso ya te lo tendrás que currar, usa el TMaskEdit que ya lo tienes echo.

Espero que sea esto lo que estas buscando

Un saludo.

amell2020 30-11-2011 21:24:03

si por lo que veo no puedo editar en los dbedit tengo que hacer append, como lo hago

olbeup 30-11-2011 21:31:13

Para editar los DBEdit's lo que tienes que hacer es en vez de utilizar un .Append para añadir utiliza un .Edit para editarlo.
Código Delphi [-]
//GUARDA LA FACTURA DE HOSPITALIZACION:
 Guardar.Active;
  Guardar.Insert; <----- Utiliza -----> Guardar.Edit; (si lo que quieres es editar)

Guardar.FieldByName('FECHA DE HOSPITALIZACIÓN').AsDateTime:=DateTimePicker1.Date;
Guardar.FieldByName('FECHA DE ALTA').AsDateTime:=DateTimePicker2.Date;
Guardar.FieldByName('DIAS DE HOSPITALIZACIÓN').AsInteger:=strToint(Edit2.Text);
Guardar.FieldByName('TIPO DE SALA').AsInteger:=strToint(DBEDIT5.Text);
Guardar.FieldByName('MEDICO DE HOSPITALIZACIÓN').AsInteger:=strToint(Edit21.Text);
Guardar.FieldByName('COSTO TOTAL DE HOSPITALIZACIÓN').AsString:=Edit23.Text;
Guardar.FieldByName('RISPACIENTES').AsInteger:=strToint(Edit1.Text);
Guardar.Post;
Un saludo.

oscarac 30-11-2011 21:31:39

Cita:

Empezado por amell2020 (Mensaje 420039)
si por lo que veo no puedo editar en los dbedit tengo que hacer append, como lo hago

amell2020.. se ve que tienes todas las ganas de aprender y me parece excelente... lo malo es que tenemos un problema aqui... antes teniamos una bola de cristal...
que la usaba casimiro con ella adivinabamos lo que el usuario queria... lamentablemente se rompio y el presupuesto no alcanza para otra...

por favor... se mas explicito (a)

para editar un dbedit solo tienes que usar el edit y para adicionar un registro el append..

cual es el problema?
sabes la diferencia entre edit y dbedits?

ambos son para llenar datos, pero los dbedits estan "amarrados" a una tabla o a un query o a alguna fuente que contenga campos y registros, los edits no.. son entes libres...

entonces... es mucho mas sencillo utiilzar dbedits en los formularios de ingresos de datos porque nos simplifican la vida... no tenemos que esta haciendo esa asignacion que colocaste en tu post anterior

veo que tambien usas dbedits en el campo tipo de sala (aunque me parece extraño que los campos tengan espacio en blanco)
salte a la calle deja la compu unos 20 min.. relajate... tomate un cafecito y vuelve con ideas mas ordenadas...
OJO todo esto te lo digo en muy buena onda, no te estoy criticando ni nada por el estilo


La franja horaria es GMT +2. Ahora son las 14:21:08.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi