Welkom op het forum van startpagina!

Dit forum staat op alleen-lezen. Je kan hier informatie zoeken en oude berichten terugvinden, maar geen nieuwe berichten plaatsen.

Naar overzicht van alle forums

Automatische query

  • Leeuw1960

    Ik kon even geen andere omschrijving vinden voor mijn vraag.

    Voor het beheren van IP-adressen wil ik het volgende nog toevoegen in de datababase.

    Ik heb een kleine tabel met o.a daarin de volgende velden.

    applicatie;DNS;gateway;Vlan;IP-adres van;IP-adres tot; (de laatste 2 is dus het eerste en het laatste IP-adres van de reeks horende bij die applicatie)

    Nu heb ik een veel grotere tabel met daarin dezelfde velden maar dan natuurlijk de IP-adressen niet als reeks maar per stuk voor iedere deel van een applicatie.

    Als ik nu een nieuw IP-adres moet uitgeven zou ik graag willen zien welk IP-adres van de reeks geldend voor de applicatie waarmee ik bezig ben nog vrij is.

    Er kunnen gaten in de reeks zitten dus kijken naar het laatste gebruikte ip-adres is geen optie. het liefst had ik dus dat ik een a.d.h.v. de kleine tabel een query ofzo kon maken waar alle mogelijke ip-adressen in staan van de applicatie waar ik bezig mee ben (dus IP-adres van; IP-adres tot maar dan ook ieder ip-adres ertussen. bij die query voeg ik dan een query van mijn totale tabel waarbij het Ip-adres het vergelijkend veld is. zo kan ik in een opslag de gaten zien in de ip-rangen die ik weer kan gebruiken.

    ik hoop dat ik het een beetje heb kunnen omschrijven, anders hoor ik het wel.

    Alvast bedankt voor de moeite.

    gr RIchard

  • wimmie

    Deze kode ooit eens geschreven om een vrij nummer te zoeken in een rij van zgn. wachtbonnen.

    Ook hier zitten gaten in. Zoek de eerste en de laatste (min en max), in mijn geval afhankelijk

    van de bonstatus, bij jou van de range van de applicatie. Dus het WHERE statement (Bonstatus=1)

    aanpassen aan zoiets als >X AND < Y

    Als er geen enkel record is of het eerste recordnr >1 dan is 1 dus vrij.

    Anders zoeken tussen de eerste en laatste.

    Als er niet gevonden wordt, dus geen gaten, dan is het eerste nummer het laatste nummer +1

    Succes

    Wim

    Public Function GetVrijWachtNr() As Long

    Dim StrSQL1 As String

    Vrij = -1

    GetVrijWachtNr = Vrij

    StrSQL1 = “Select min(bonwachtkode)AS eerste from tblbonnen where bonstatus=1;”

    StrSQL2 = “Select max(bonwachtkode) as laatste from tblbonnen where bonstatus=1;”

    Set rs1 = CurrentDb.OpenRecordset(StrSQL1)

    Set rs2 = CurrentDb.OpenRecordset(StrSQL2)

    If rs1.EOF Or IsNull(rs1.eerste) Then

    Vrij = 1

    GoTo uit

    End If

    If rs1.eerste > 1 Then

    Vrij = 1

    Else

    For i = rs1.eerste + 1 To rs2.laatste - 1

    StrSQL3 = “select * from TblBonnen where bonstatus=1 and bonwachtkode=” & CStr(i) & “”

    Set rs3 = CurrentDb.OpenRecordset(StrSQL3)

    If rs3.EOF Then

    Vrij = i

    GoTo uit

    End If

    Set rs3 = Nothing

    Next i

    End If

    If Vrij = -1 Then

    Vrij = rs2.laatste + 1

    End If

    uit:

    GetVrijWachtNr = Vrij

    End Function