[Excel 2016] datumveld aanpassen ivm sql script

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • MdO82
  • Registratie: Maart 2007
  • Laatst online: 15:00
Mijn vraag

Ik ben op dit moment bezig om mijn database van Domoticz weer aan te vullen met verloren gegeven na wat problemen met de database.
Hierdoor heb ik de gegevens in Excel gezet en maak dmv formules de sql commando's compleet.

Via de volgende formule haal ik gegevens op uit de cellen en maak hier dan een regel van welke ik dan kopieer in de sql database.

code:
1
="VALUES('"&O2&",'"&P2&"','"&Q2&"','"&R2&"');"


In cel R2 staat dan een datum welke als volgt genoteerd is: '2017-12-31' in de cel eigenschap heb ik aangegeven dat het veld een aangepast type is en als volgt genoteerd moet worden: 'jjjj-mm-dd'

Dit krijg ik allemaal netjes voor elkaar,

Het probleem zit hem echter in het samenvoegen van de cel.

code:
1
VALUES('23,'1710','5393460','43100');


Deze 43100 is dan een datum welke nu verkeerd wordt weergeven.
Dit komt doordat in de cel waar ik de formule samenvoeg de eigenschap dan op standaard staat.


Relevante software en hardware die ik gebruik
Excel 2016

Wat ik al gevonden of geprobeerd heb

Ik had gevonden dat je het TEXT commando kan gebruiken, maar die kan ik zover ik heb gelezen niet binnen een formule gebruiken.

Weet iemand hoe ik dit voor elkaar kan krijgen dat de formule als volgt wordt weergegeven ?

code:
1
VALUES('23,'1710','5393460','2017-12-31'');


Ik kan het natuurlijk handmatig aanpassen, maar aangezien ik aardig wat data heb is dat geen doen :)

[ Voor 3% gewijzigd door MdO82 op 24-02-2018 10:21 ]

2250 WP Zuid PVoutput

Alle reacties


Acties:
  • 0 Henk 'm!

  • breew
  • Registratie: April 2014
  • Laatst online: 20:45
Volgens mij moet je een datum/tijdveld in dit geval ook de tijdstempel meegeven..
probeer eens:
VALUES ('"&O2&"','"&P2&"','"&Q2&"','"&TEXT(R2, "yyyy-mm-dd hh:mm:ss")&"')

of wellicht
VALUES ('"&O2&"','"&P2&"','"&Q2&"','"&TEXT(R2, "yyyy-mm-ddThh:mm:ss")&"')

[ Voor 24% gewijzigd door breew op 24-02-2018 10:52 ]


Acties:
  • 0 Henk 'm!

  • sig69
  • Registratie: Mei 2002
  • Laatst online: 20:55
Waarom zo moeilijk? Het is een eenmalige actie neem ik aan. Dus stel je hebt twee kolommen:
Datum;waarde
2018-02-01;145
Dan plak je er een kolom voor, daarin zet je:
Insert into table (date, value) values (
Tussen de kolommen zet je ook een nieuwe kolom met daarin:
,
Als laatste nog een ) op het eind, kopiëren en plakken en uitvoeren maar.

Roomba E5 te koop


Acties:
  • 0 Henk 'm!

  • MdO82
  • Registratie: Maart 2007
  • Laatst online: 15:00
breew schreef op zaterdag 24 februari 2018 @ 10:51:
Volgens mij moet je een datum/tijdveld in dit geval ook de tijdstempel meegeven..
probeer eens:
VALUES('"&O2&"','"&P2&"','"&Q2&"','"&TEXT(R2, "yyyy-mm-dd hh:mm:ss")&"')

of wellicht
VALUES('"&O2&"','"&P2&"','"&Q2&"','"&TEXT(R2, "yyyy-mm-ddThh:mm:ss")&"')
=VALUES('"&O2&"','"&P2&"','"&Q2&"','"&TEXT(R2, "yyyy-mm-dd")&"')


Als ik deze commando gebruik dan krijg ik een foutmelding.
Deze verwijst dan naar de eerste " en ' in het eerste stuk van de formule VALUES ('"

De " en ' zou ik weg kunnen halen, maar dan werkt de code niet om de data in de sql database te krijgen.
sig69 schreef op zaterdag 24 februari 2018 @ 10:59:
Waarom zo moeilijk? Het is een eenmalige actie neem ik aan. Dus stel je hebt twee kolommen:
Datum;waarde
2018-02-01;145
Dan plak je er een kolom voor, daarin zet je:
Insert into table (date, value) values (
Tussen de kolommen zet je ook een nieuwe kolom met daarin:
,
Als laatste nog een ) op het eind, kopiëren en plakken en uitvoeren maar.
De data heb ik al dan moet ik dus bij alles en extra cel toevoegen en daarin een , zetten, dat is een optie, maar als je veel dta hebt dan is het wat werk.
Het is vaak een eenmalige actie, maar die vaker voor kan komen.

2250 WP Zuid PVoutput


Acties:
  • 0 Henk 'm!

  • sig69
  • Registratie: Mei 2002
  • Laatst online: 20:55
Als je verwacht dat dit vaker voor kan komen zou ik eerst andere maatregelen nemen :)

Roomba E5 te koop


Acties:
  • 0 Henk 'm!

  • MdO82
  • Registratie: Maart 2007
  • Laatst online: 15:00
Laat ik het anders zeggen, het kan nog wel eens gebeuren dat ik deze actie nog eens moet doen.
Maar het is eigenlijk de bedoeling van niet.

Het enige waar ik nu dus nog mee zit is de vermelding van de datum.

Zoals gezegd via deze code

="VALUES("&P59&","&Q59&","&R59&",'"&S59&"');"


Krijg ik de volgende info te zien

VALUES(23,1710,5393460,'43100');



De 43100 is de datum van 2017-12-31
Deze moet dus niet als 43100 weergegeven worden maar dus gewoon als datum.

Het spelen met Tekst bied voor mij niet de gewenste oplossing
De volgende code geeft een foutmelding

="VALUES("&P59&","&Q59&","&R59&",'"&TEKST(S59, "yyyy-mm-dd"');"


De reden dat ik ' ' in het laatste veld heb staan komt dat de datum als volgt in de database staat '2017-12-31'

Zet ik alle data in cellen achter elkaar met een cel met , ertussen en kies dan voor tekst.samenvoegen dan krijg ik hetzelfde.

De datum wordt telkens als code neergezet, 2017-12-31 wordt 43100, 2017-12-30 wordt 43099 enz.

2250 WP Zuid PVoutput


Acties:
  • 0 Henk 'm!

  • Roodey
  • Registratie: Februari 2005
  • Laatst online: 19:59
Heb je TEKST (S59, "JJJJ-MM-DD) al eens getest?
Notatie is belangrijk voor de formule TEKST icm je taal.

Acties:
  • 0 Henk 'm!

  • MdO82
  • Registratie: Maart 2007
  • Laatst online: 15:00
Euhm, ja die had ik al getest, maar zie dat ik hem hier verkeerd heb gezet :$

Maar ik heb het nu voor elkaar :)

Als je een datum wilt gebruiken dan maakt hij hier bij het samenvoegen een standaard cel van waardoor bijvoorbeeld 31-12-2017 43100 wordt.

Wat ik nu gedaan heb en daar kwam ik achter door een post in een ander topic is het volgende:

Afbeeldingslocatie: https://tweakers.net/ext/f/kC1Cun2GEuObYTkADr7fcziQ/medium.jpg

In mijn voorbeeld zie je 2 keer een datum staan onder cel I en K

In cel K heb ik de volgende formule neergezet

=TEKST(I2;"jjjj-mm-dd")
deze tekst is zoals jullie dit al aangegeven hadden.

Ik probeerde echter deze tekst gelijk in mijn formule te verwerken, maar dat ging niet.

In cel K verwijs ik hierdoor naar een cel in rij I en geef aan hoe de datum moet worden.
De datum is hetzelfde zoals deze in cel I staat, maar nu is het voor excel een standaard cel en daarna kan ik de boel samenvoegen.

Zoals je in cel N kunt zien.

2250 WP Zuid PVoutput


Acties:
  • 0 Henk 'm!

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

MdO82 schreef op zaterdag 24 februari 2018 @ 12:50:
[...]
Ik had gevonden dat je het TEXT commando kan gebruiken, maar die kan ik zover ik heb gelezen niet binnen een formule gebruiken.
Dat is dus onzin. :)
De volgende code geeft een foutmelding

="VALUES("&P59&","&Q59&","&R59&",'"&TEKST(S59, "yyyy-mm-dd"');"
want je rommelt met lijstscheidingstekens en aanhalingstekens. Als je een Nederlandsetalige excel hebt met nederlands regioinstellingen moet het zo:

="VALUES(" & P59 & "," & Q59 & "," & R59 & ",'" & TEKST(S59;"jjjj-mm-dd") & "')"

[ Voor 16% gewijzigd door Lustucru op 24-02-2018 16:44 ]

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


Acties:
  • 0 Henk 'm!

  • hihansvdijk
  • Registratie: Mei 2015
  • Laatst online: 23-05-2024
Probeer het eens met MM in hoofdletters
mm in kleine letters geeft de minuten als resultaat.

Acties:
  • 0 Henk 'm!

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

hihansvdijk schreef op maandag 26 februari 2018 @ 11:02:
Probeer het eens met MM in hoofdletters
mm in kleine letters geeft de minuten als resultaat.
Niet (meer?). De tekst() functie doet iets bijzonders: mm wordt, onafhankelijk van hoofdletter of niet, geïnterpreteerd afhankelijk van de directe context.

=TEKST(A1;"dd-Mm-jjjj uu:mM")-> dag-maand-jaar uur:min

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland

Pagina: 1