Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

ASP - Access2000 - probleem met verwijderen datum-record

Remytje
8 antwoorden
  • In een Access2000 tabel heb ik een kolom "datum".

    Hierin staan data of er staat niets.

    Nu wil ik d.m.v. een Update-sql deze data kunnen aanpassen.

    Alles heb ik inmiddels aan het werken, alleen als ik een datum wil verwijdern krijg ik de volgende melding:

    [quote:89fe6a07ff]Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

    [Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression. [/quote:89fe6a07ff]

    Ik heb met een "RESPONSE.WRITE(sql)" gekeken en de update-sql die hij genereert is [code:1:89fe6a07ff]datum=''[/code:1:89fe6a07ff]

    Hij zou dus de dataum moeten update naar een NULL-waarde.

    In de Access2000 table heb ik ingesteld dat er geen waarde vereist is.

    Hoe kan dit foutgaan?
  • [quote:0646159db2="Johant"]Ik heb met een "RESPONSE.WRITE(sql)" gekeken en de update-sql die hij genereert is [code:1:0646159db2]datum=''[/code:1:0646159db2]
    [/quote:0646159db2]
    Waarschijnlijk komt onderstaande beter in de buurt:
    UPDATE tabel SET datum = NULL
  • Afhankelijk van wat ik invul in een form krijgt de variabele "datum" een datum mee of 3 lege velden (dag, maand, jaar).

    Deze is altijd in het formaat datum = 'mm/dd/jjjj'

    Hoe kan ik deze nu een NULL waarde meegeven?
  • [quote:de563d17d0]Hoe kan ik deze nu een NULL waarde meegeven?[/quote:de563d17d0]
    Met een if..then…-constructie waarschijnlijk :wink:

    Zoiezo is het verstandig om formulierdata niet 'blind' in een query te zetten maar eerst te controleren of het is wat je verwacht met het oogpunt vanuit veiligheid en klantvriendelijkheid.
  • Zover was ik al, maar wat is dan het verschil tussen:

    datum = ''

    en

    datum = NULL

    Nu heb ik

    IF datum = '' THEN datum = NULL

    maar dan wordt de SQL-statement:

    sql = datum = '" & datum & "'

    en dit is dus

    sql = datum = 'NULL'

    En dat pakt ie dus niet.
  • [quote:7c5d976d5e]datum = 'NULL' [/quote:7c5d976d5e]
    Dit werkt niet, omdat je een veel gemaakte fout maakt.

    Je geeft nu aan het veld 'datum' de string NULL. Dit is een string omdat je het tussen aanhalingstekkens zet.

    Echter NULL is iets 'specials' en dient niet tussen aanhalingstekens geplaatst te worden. Zie het als een soort functie die het veld leeg maakt.

    De SQL-string wordt dan: …datum = NULL…
  • HEEELLLPPPP!!!!!! :(

    Ik krijg het niet voor elkaar.

    Als ik geen datum invoer in het form datumveld, dient er ook niets in de database te komen.

    Jullie zeggen;ken de speciale NULL - waarde toe aan de variabele datum.

    Maar als ik zeg:

    [code:1:e41f2ab705]datum = NULL[/code:1:e41f2ab705]

    Dan zet ie de NULL in blauwe letters en als ik dan

    [code:1:e41f2ab705]RESPONSE.WRITE(datum)[/code:1:e41f2ab705]

    uitvoer krijg ik als resultaat niets en dat pakt ie niet in de sql die bij de update hoort.

    Hoe los ik dit op?
  • NULL is ook niets… En eigenlijk toch weer wel. Het is een waarde die aangeeft dat de variabele geen waarde bevat. Een beetje vaag, geef ik gelijk toe. Maar je kan dus controleren of de variabele een waarde bevat. Hoe dit gaat in ASP weet ik niet, maar PHP heeft een functie isset(). Wellicht heeft ASP een equivalent? Maar NULL naar het scherm printen resulteert in niets.

    - Basje.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.