velden opvullen met waarden

Status
Niet open voor verdere reacties.

daveke

Gebruiker
Lid geworden
18 jan 2001
Berichten
161
Hoi,

In een bepaalde kolom van een tabel staat slecht af en toe een waarde, de rest van de velden in die kolom zijn leeg.
Bestaat de mogelijkheid om die lege velden op te vullen met de waarden van de niet lege velden afhankelijk van de waarde in een andere kolom.

hehe, hoop dat iemand er aan uit kan.


alvast bedankt
 
Hoi Daveke,

Dat zou je kunnen met een bijwerkquery. Om die maken ga je naar query's, dan een nieuwe query in de ontwerpweergave. Selecteer vervolgens de tabel waar je de query op uit wilt voeren. Dan zoek je in de knoppenbalk de juiste knop om de selectiequery te wijzigen in een bijwerkquery. Dit is een knop met zo'n zwart driehoekje ernaast.
Wanneer je dat ingesteld hebt, sleep je de kolomnaam van de kolom waar je legen waarden in staan naar het het onderste gedeelte van het queryvenster. Daar heb je een regel waar staat "wijzigen in". Daar vul je de waarde in die je in de lege velden wilt hebben. Desgewenst kun je nog kolommen toevoegen om extra criteria aan te geven. Pas wel even op, want als je deze query zonder extra criteria uitvoert, zullen de niet lege cellen ook oveschreven worden met datgene dat je in "wijzigen in" invult.
 
Ik heb in bijlage even een voorbeeldje gestoken.
Hopelijk kan je hier iets mee.

Kan dit met een bijwerk query???

Alvast bedankt
 

Bijlagen

Dat kan met de iif functie (inderdaad met twee i-tjes).
Kijk maar eens in de access help.
 
De IIf funcite ken ik wel maar zou niet weten hoe die nuttig kan zijn in dit geval.
 
Heb het opgelost met een beetje code:

Sub probeer()

Dim rs As New ADODB.Recordset
Dim strsql As String

strsql = "select * from Rsz"

rs.Open strsql, CurrentProject.Connection, adOpenKeyset, adLockOptimistic

On Error GoTo Err_handler


With rs

Do While Not .EOF


If !veld2 = "00037" Then
var = Right(!omschrijving, 6)
Else: GoTo 0
End If

Do Until !veld2 = "00023"
.MovePrevious
Loop

!stamnr = var
.MoveNext


Do While !veld2 <> "00023"
If Err.Number = 3021 Then
Exit Do
End If
!stamnr = var
.MoveNext
Loop
0:

.MoveNext

Loop

'rs.Close

.MoveFirst

End With

With rs
Do Until Not .EOF
If !veld2 = "00023" Then
.AddNew
.Update
.MoveNext
End If
Loop
End With


Err_handler:



'rs.Open strsql, CurrentProject.Connection, adOpenKeyset, adLockOptimistic


End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan