• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Menssen zoeken

Status
Niet open voor verdere reacties.
Aha

Vraag 1 is eigenlijk wel opgelost, geeft als resultaat hetzelfde als wat ik had gedaan alleen dit is netter
Code:
on error resume next:-)
Hans nu blijven de gegevens die hij opgezocht heeft wel staan, hoe komt dat?

Vraag 2 leg ik uit:


De query aanpassen op hetzelfde blad lukte me al wel en ook de bestanden en dergelijke is geen enkel probleem

Wat ik zoek is dat de targets staan waar ze staan ("Home")
maar de gegevens (de query zelf?) die hij zoekt op ("Blad2")

kan dat?

De query zetten in een andere sheet is niet zo moeilijk een kwestie van importeren en klaar. Alleen dan 'snapt' volgens mij de code niet meer waar de query begint en heeft iets met de range a32 te maken...?

Please help me out here

't is weer voortreffelijk!

Jarod
 
Laatst bewerkt:
Laatste probleem

Wie is zo aardig en lost 'even' voor mij het laatste probleem op?

Jarod
 
Jarod,

De ruzie met mijn PC is in mijn voordeel beslecht en ik heb nog even naar je vraag gekeken.

Zoals al eerder aangegeven zal je eerst een query moeten definieeren op het gewenste blad en in de gewenste cel door deze cel te selecteren en dan via Data-->Externe gegevens importeren --> Nieuwe Databasequery.
Hiermee start een wizard waarmee je kunt aangeven waar je data staat, wat je wilt selecteren en met welke voorwaarde.

Als je dit opneemt met de macro recorder hoef je alleen de gegevens die variable zijn te veranderen in de query en je hebt de macro uit testbestand2.
Deze query wordt dan wel opgeslagen door excel bij deze cel. Als die er niet staat kun je hem ook niet bijwerken.

In testbestand3.xls uit de vraag die je net stelde heb ik dit gedaan en de macro aangepast zodat hij de query op blad2 bijwerkt. De query op blad home is verwijderd.

Mocht dit niet zijn wat je zoekt, stel gerust nog een vraag maar begin geen nieuwe. Het kan even duren maar er zijn genoeg mensen die ook de wat oudere vragen nog doornemen.
 

Bijlagen

Laatst bewerkt:
Klasse!

Hans,

Mooi dat je van je computer gewonnen hebt in tegenstelling tot mensen als Gary Kasparov (Gary Kasparov vs Deep Blue (schaken)):p

Anyway 't werkt. 'k vind het wel balen om te zien dat ik gewoon With was vergeten lekker is dat! Ik snapte er al niks meer van!:D

Ik ga nu eens proberen of ik van de targets ook een soort range kan maken. Bijvoorbeeld met data. 1-1-2007 - 31-12-2007 bijvoorbeeld. Weergave gegevens tussen deze data ofzo iets, dat moet vast wel willen.

De gegevens blijven trouwens wel staan als je de targets leegmaakt. Daar is niets voor?

Jarod

ps: Sorry voor het posten van nog een nieuw bericht. Ik dacht dat niemand 't meer las:o vandaar.
 
je zou kunnen testen of de waarde leeg is en dan laten zoeken naar een niet bestaande waarde.


de code komt er dan als volgt uit te zien:


Code:
Private Sub Worksheet_Change(ByVal target As Range)
    zoekwaarde = target.Value
    If target.Address = "$B$5" Then
        If zoekwaarde = "" Then zoekwaarde = -1
        With Sheets("blad2").Range("A1").QueryTable
            .Connection = _
            "ODBC;DSN=Excel Files;DBQ=C:\Test2.xls;DefaultDir=C:\;DriverId=790;MaxBufferSize=2048;PageTimeout=5;"
            .CommandText = Array( _
            "SELECT `test2$`.`Branch plant`, `test2$`.Vestiging, `test2$`.Vestiging1, `test2$`.F4, `test2$`.`Cursistnr# Preventief`, `test2$`.Naam, `test2$`.`Geb# datum`, `test2$`.`Laatste herhaling`, `test2$`.`In" _
            , _
            "delen Z/N`, `test2$`.`Adres Prive`, `test2$`.`Postcode +Woonplaats`, `test2$`.Bijzonderheden" & Chr(13) & "" & Chr(10) & "FROM `C:\Test2`.`test2$` `test2$`" & Chr(13) & "" & Chr(10) & "WHERE (`test2$`.`Branch plant`=" & zoekwaarde & ")" & Chr(13) & "" & Chr(10) & "ORDER BY `test2$`.`Branch plant`" _
            )
            .Refresh BackgroundQuery:=False
        End With
    ElseIf target.Address = "$B$7" Then
        If zoekwaarde = "" Then zoekwaarde = -1
        With Sheets("blad2").Range("A1").QueryTable
            .Connection = _
            "ODBC;DSN=Excel Files;DBQ=C:\Test2.xls;DefaultDir=C:\;DriverId=790;MaxBufferSize=2048;PageTimeout=5;"
            .CommandText = Array( _
            "SELECT `test2$`.`Branch plant`, `test2$`.Vestiging, `test2$`.Vestiging1, `test2$`.F4, `test2$`.`Cursistnr# Preventief`, `test2$`.Naam, `test2$`.`Geb# datum`, `test2$`.`Laatste herhaling`, `test2$`.`In" _
            , _
            "delen Z/N`, `test2$`.`Adres Prive`, `test2$`.`Postcode +Woonplaats`, `test2$`.Bijzonderheden" & Chr(13) & "" & Chr(10) & "FROM `C:\Test2`.`test2$` `test2$`" & Chr(13) & "" & Chr(10) & "WHERE (`test2$`.Vestiging='" & zoekwaarde & "')" & Chr(13) & "" & Chr(10) & "ORDER BY `test2$`.`Branch plant`" _
            )
            .Refresh BackgroundQuery:=False
        End With
    End If
    target.Select
End Sub
 
Ik houd dezelfde error?

Ik houd dezelfde error.
Kan dat kloppen?

Jarod
 
Wazig

't werkt al,

Ik was wat te snel:-) had 1 dingetje over het hoofd gezien:o :shocked:
't werkt inderdaad
Alleen 't werkt niet voor een samengevoegde Cel van B5 en B6 merk ik:(
Ik zal nu eens bekijken waarom.
Dat is wel interessant voor de toekomst:-)

Tx Hans!

Jarod.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan