Toon posts:

[Crystal Report] Veldtype veranderen; hoe? *

Pagina: 1
Acties:
  • 805 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Hey,

Ik ben bezig om een rapport te maken in Crystal Reports 9, maar verklaar mij voor gek of niet, maar ik krijg het niet voor elkaar om de Field Types in het rapport, te veranderen. Bijvoorbeeld van "Number" naar "Date".
Is het misschien niet mogelijk om dit te veranderen of zou dat dan in de database zelf veranderd moeten worden? Lijkt me erg onwaarschijnlijk, maar goed.

Ik heb de search gebruikt en ik krijg het antwoord niet gevonden.

Please Help me!!

Verwijderd

Volgens mij (<--- dus niet meteen slaan ;)) is het zo dat het veldtype as-is overgenomen wordt uit de database. Wil je een waarde dus een andere eigenschap geven, dan zal je dit via een formule moeten doen en die als veld gaan gebruiken.
Zo doe ik het altijd.

In jouw voorbeeld wil je een nummer omzetten naar datum. Ik doe dat altijd met de CDate-formule.

[ Voor 11% gewijzigd door Verwijderd op 29-04-2005 12:01 ]


Verwijderd

Topicstarter
Daar heb ik toevallig net naar gekeken, maar ik kom niet tot een goede formulering, zou je misschien een voorbeeld kunnen posten, van hoe die formule is samengesteld??

_/-\o_
Verwijderd schreef op vrijdag 29 april 2005 @ 11:57:
Volgens mij (<--- dus niet meteen slaan ;)) is het zo dat het veldtype as-is overgenomen wordt uit de database. Wil je een waarde dus een andere eigenschap geven, dan zal je dit via een formule moeten doen en die als veld gaan gebruiken.
Zo doe ik het altijd.

In jouw voorbeeld wil je een nummer omzetten naar datum. Ik doe dat altijd met de CDate-formule.

Verwijderd

In principe is dit 'm:
CDate ({TABEL_VELD})

Nou werk ik zelf met een oracle database waar de datums als getallen erin staan die niet 1 op 1 overeenkomen met de werkelijke datum (don't ask me why). Door de datumnotering van Excel (in getal) en van oracle te vergelijken moest ik er nog een getal van aftrekken:

bijv. CDate ({TABEL_VELD}-693594)

maar dat zou bij jou dus niet nodig hoeven te zijn.

Oh, nog een tip met betrekking van datums. Stel je maakt een formule op basis van een tekstveld.
IF {VELD}="tekst"
THEN "tekst2"
ELSE datum

dit pakt ie niet. Je moet dan de datum tussen # zetten dus ELSE #01-01-2005#

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Ik verNederlandsch je topictitel even :)

How 2 change Field Type in Crystal Report 9 > [Crystal Report] Veldtype veranderen; hoe? *

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


  • Pyrowired
  • Registratie: Februari 2004
  • Laatst online: 05-01-2025
Over genomen uit de help functie in CR 8.5 (hint: F1):

CDate
Basic and Crystal syntax.

The DateValue and Date functions are equivalent to CDate. However, Date can only be used in Crystal syntax since it is a type name in Basic syntax.

Overloads
CDate (number)
CDate (string)
CDate (dateTime)
CDate (YYYY, MM, DD)
Arguments
CDate (number)
Number is a value representing the number of days starting from December 30, 1899. It can be positive or negative, and is truncated if fractional.

CDate (string)
string is a text string representing a date, example: "September 20, 1999"; many formats are supported for the string

CDate (dateTime)
dateTime is a DateTime value.

CDate (YY,MM,DD)
year is a whole number representing a year, example: 1996.
month is a whole number representing a month, example: 12 for December.
day is a whole number representing a day of the month, example: 05.


Returns
Date value

Action
CDate (number) converts and returns a Date given a number which is the number of days starting from December 30, 1899.

CDate (string) converts and returns a Date given a string.

CDate (dateTime) converts and returns a Date given a DateTime value.

CDate (YYYY, MM, DD) uses the given arguments to create a Date value.

Examples
The following examples are applicable to both Basic and Crystal syntax:

CDate ("Dec. 31, 1999")

Returns the Date value for Dec. 31, 1999.

CDate (50)

Returns the Date value for February 18, 1900.

CDate (#Oct. 20, 1999 12:02pm#)

Returns the Date value for October 20, 1999.

CDate (1930, 7, 30)

Returns the Date value for July 30, 1930.

Zolang de zon schijnt, blijf ik binnen.


Verwijderd

Topicstarter
thnx thnx.
Die help file heb ik zelf ook bekeken idd, maar die examples die erin staan beschreven vond ik niet echt verhelderend. Ondertussen ben ik wel iets verder.
Het volgende probleem doet zich voor wanneer ik op dezelfde wijze "begroot bedrag" van string naar nummer of currency wil converteren. Ik krijg dan de melding:

The string is non-numeric.

ja DUH, dat wil ik er juist van maken....ik weet dus niet wat ie nou wil dat ik doe! :)
ik weet wel dat als ik de kolom begroot bedrag gewoon als string inlees ik de volgende waarden krijg:

0;0;0;0;0;0;6200;6200;0;0;0;6200;3546;123;0;0;0;

etc etc. Verschillende waarden dus in die kolom, gescheiden door ;

zucht... |:(

Verwijderd

Crystal zegt over die melding:
The string is non-numeric.
The argument to the ToNumber function must be a number stored as a string (for example, a customer number, an ID number, and so on). The string may be preceded by a minus sign and may contain leading and trailing blanks. You have used an argument that is non-numeric and therefore cannot be converted to a number. Change the argument to numeric and recheck.
Zit er misschien in 1 van de getallen een letter/teken o.i.d. waardoor hij 'm niet kan omzetten. Het hoeft er natuurlijk maar eentje te zijn om deze melding te generen.
Bij de functie ToNumber staat namelijk nog een commentaar die relevant is en je even na kan trekken:
Comments
When using the ToNumber function, you should first test the value with the NumericText function. NumericText returns a value of TRUE only if the value in the string can be correctly converted to a Number. Otherwise, if you try to convert a value to a Number that is not a Number, the formula will produce an error in your report.

The following example is a common use of the NumericText and ToNumber functions together, in Crystal syntax:
code:
1
2
3
4
If NumericText ({file.FIELD}) Then
     ToNumber ({file.FIELD})
Else
     0
Zoek ook even in de Help op IsNumeric = een functie vergelijkbaar met NumericText.

Succes!
Pagina: 1