Avatar billede aero Nybegynder
06. august 2003 - 02:01 Der er 12 kommentarer og
1 løsning

Hentning af ID og gem det med strFnr funktion

jeg har denne funktion i min code:

strFnr = "F" & Right(CLng(1000000 + [ID]), 6)

den skulle hente den id som den er nået til og gemme det som F000001 hvis der er id 1 altså den første !!

Men jeg kan kun få den til at gemme F000000 og det er i 6 recorder nu altså fra ID 1 - 6 !!!

min code er:

<!--#include file="common.asp"-->
<%
Dim strMode, strFejl, strnavn, strsenderEmail, strtelefon, strfaxen, strtid, strforsporgsel, strbody, strfirma, strFnr, rsOpret

strMode = Request.QueryString("mode")

If Request.Form("Gem") <> "" Then
    strFejl = ""
    strfirma        = Trim(Request.Form("fn"))
    strnavn        = Trim(Request.Form("name"))
    strsenderEmail  = Trim(Request.Form("email"))
    strtelefon      = Trim(Request.Form("phone"))
    strfaxen        = Trim(Request.Form("fax"))
    strtid          = Trim(Request.Form("time"))
    strforsporgsel  = Trim(Request.Form("fspg"))
    strbody        = Trim(Request.Form("body"))
    strFnr = "F" & Right(CLng(1000000 + [ID]), 6)


    If Request.Form("lineBreak") = "true" Then
   
    strbody = Replace(strbody, vbCrLf, "<br>")
    End If

    If Len(strnavn) = 0 Then
        strFejl = "<li>Du skal skrive dit Navn eller navnet på Kontaktpersonen!</li>"
    ElseIf validateTlf(strtelefon) = 0 Then
        strFejl = "<li>Du skal skrive et Telefon nr. i korrekt format!</li>"
    ElseIf Len(strforsporgsel) = 0 Then
        strFejl = "<li>Du skal skrive en titel på din Forespørgsel!</li>"
    ElseIf Len(strbody) = 0 Then
        strFejl = "<li>Du skal skrive en Tekst på din Forespørgsel!</li>"
    End If
    If Len(strFejl) = 0 Then
        Set rsOpret = Server.CreateObject("ADODB.Recordset")
        rsOpret.open "FSP", cn, 3, 3
       
        rsOpret.AddNew
        rsOpret("Fid") = Server.HTMLEncode(strFnr)
        rsOpret("Firma") = Server.HTMLEncode(strfirma)
        rsOpret("Kontakt") = Server.HTMLEncode(strnavn)
        rsOpret("Email") = Server.HTMLEncode(strsenderEmail)
        rsOpret("TLF") = Server.HTMLEncode(strtelefon)
        rsOpret("FAX") = Server.HTMLEncode(strfaxen)
        rsOpret("TID") = Server.HTMLEncode(strtid)
        rsOpret("Foresporgsel") = Server.HTMLEncode(strforsporgsel)
        rsOpret("Tekst") = Server.HTMLEncode(strbody)
        rsOpret("Dato") = Now()
        rsOpret.Update
       

        rsOpret.close
        set rsOpret = nothing

    Else
        strFejl = "<p><ul><font color=#FF0000>" & strFejl & "</font></ul></p>"
        strMode = "add"
    End If
End If
cn.close
set cn = nothing
%>
<html>
<head>
<title>emailform</title>
<link rel="StyleSheet" href="../inklude/style.css" type="text/css">
</head>
<body>
<%
Select Case strMode
Case "add"
%>
<form method="post" action="sendf.asp">
Udfyld venligst Skemaet/Formen, ang. Deres Forespørgsel. Og vi vil kontakte dem hurtigst muligt.
<br><br>
<%=strFejl%><br>
  evt. Firma Navn:<br>
  <input type="text" size="25" name="fn" value="<%=strfirma%>"><br>
  Kontakt Person:<br>
  <input type="text" size="25" name="name" value="<%=strnavn%>"><br>
  Deres Mail:<br>
  <input type="text" size="25" name="email" value="<%=strsenderEmail%>"><br><br>
  Tlf. Nr.: (xx-xxxxxx)<br>
  <input type="text" size="25" name="phone" value="<%=strtelefon%>"><br>
  Fax. Nr.: (xx-xxxxxx)<br>
  <input type="text" size="25" name="fax" value="<%=strfaxen%>"><br>
  Bedste Træffe Tid:<br>
  <select name="time" size="1">
    <option value="Ligemeget">Ligemeget
    <option value="9-10">9-10
    <option value="10-11">10-11
    <option value="11-12">11-12
    <option value="12-13">12-13
    <option value="13-14">13-14
    <option value="14-15">14-15
    <option value="15-16">15-16
    <option value="16-17">16-17
  </select>
  <br><br><br>
  Forespørgsel :<br>
  <input type="text" size="25" name="fspg" value="<%=strforsporgsel%>"><br>
  Kort Beskrivelse<br>
  <textarea name="body" cols="40" rows="15" wrap="PHYSICAL"><%=strbody%></textarea>
  <input name="lineBreak" type="hidden" id="lineBreak" value="true">
  <br>
  <input type="submit" value="  Send " name="Gem">
</form>
<%
case else
Response.Write "<font face=verdana size=2>Hvis du har ønsker evt til konfirmationer mm så kan du lave en online forespørgsel til os<br><br>"
strAddLine = "<a href=sendf.asp?mode=add><strong><font face=verdana size=2>Skriv en forespørgsel til os!</font></strong></a>"
    Response.Write strAddLine

End select
%>
</body>
</html>
<script language="VBScript" runat="Server">
Function validateTlf(strtelefon)
    validateTlf = True
    If Len(strtelefon) < 8 Then
        validateTlf = False
    End If
    If InStr(1, strtelefon, "-", 1) < 2 Then
        validateTlf = False
    End If
    pos = InStr(1, strtelefon, "-", 1)
    If pos < 2 Then
        validateTlf = False
    Else
        pos = InStr(pos+1, strtelefon, "-")
        If pos > 0 Then
            validateTlf = False
        End If
    End If
End Function
</script>


Hvad er fejlen nogle der kan hjælpe !??
Avatar billede jytte Nybegynder
06. august 2003 - 07:33 #1
Right(CLng(1000000 + [ID]), 7) 
og tjek så også lige om ID indeholde det du tror.
Avatar billede eagleeye Praktikant
06. august 2003 - 18:06 #2
Hvor kommer ID fra ?

Der er ikke noget nogen variable ID som bliver sat i det kode du har vist så det nok sandsunligt den er tom. Prøv at evt at lave koden om til dette:

strFnr = "F" & Right("1000000" & ID, 6)
Avatar billede aero Nybegynder
06. august 2003 - 20:46 #3
nå jeg gemmer en record gemmes den ved en ID.

Denne ID som den skal gemmes ved skal jeg bruge.

evt hvis jeg har ID 5 og den næste record ville gemmes som ID 6 så skal jeg kunne hente denne næste ID og sætte den ind i formlen så jeg vil få et FNR tal som dette F000006 og her efter vil alle informationerne gemmes i ID 6 hvor de nå høre til også F000006 som SKAL høre til ID 6 da 6 er det sidste tal i F000006 !!
Avatar billede eagleeye Praktikant
06. august 2003 - 20:53 #4
Jeg forstår ikke helt det du skriver??

Du ligger noget ind i variablen strFnr:
strFnr = "F" & Right(CLng(1000000 + [ID]), 6)

og der i indgår variablen ID, men ID har ikke fået tildelt en værdi, så den er tom og det er nok derfor der står "F000000" og ikke "F00005"
Avatar billede eagleeye Praktikant
06. august 2003 - 20:54 #5
Er det en kolonne du tænker på når du skriver [ID] ??
Avatar billede eagleeye Praktikant
06. august 2003 - 21:05 #6
Hvis ID er autonummerkolonne så skal du lave dette:

        Set rsOpret = Server.CreateObject("ADODB.Recordset")
        rsOpret.open "FSP", cn, 3, 3
       
        rsOpret.AddNew
        rsOpret("Fid") = Server.HTMLEncode(strFnr)
        rsOpret("Firma") = Server.HTMLEncode(strfirma)
        rsOpret("Kontakt") = Server.HTMLEncode(strnavn)
        rsOpret("Email") = Server.HTMLEncode(strsenderEmail)
        rsOpret("TLF") = Server.HTMLEncode(strtelefon)
        rsOpret("FAX") = Server.HTMLEncode(strfaxen)
        rsOpret("TID") = Server.HTMLEncode(strtid)
        rsOpret("Foresporgsel") = Server.HTMLEncode(strforsporgsel)
        rsOpret("Tekst") = Server.HTMLEncode(strbody)
        rsOpret("Dato") = Now()
        rsOpret.Update
       

        rsOpret.close
        set rsOpret = nothing



Om til dette (virker vist kun i Access)

        Set rsOpret = Server.CreateObject("ADODB.Recordset")
        rsOpret.open "FSP", cn, 3, 3
       
        rsOpret.AddNew
        rsOpret("Fid") = ""
        rsOpret("Firma") = Server.HTMLEncode(strfirma)
        rsOpret("Kontakt") = Server.HTMLEncode(strnavn)
        rsOpret("Email") = Server.HTMLEncode(strsenderEmail)
        rsOpret("TLF") = Server.HTMLEncode(strtelefon)
        rsOpret("FAX") = Server.HTMLEncode(strfaxen)
        rsOpret("TID") = Server.HTMLEncode(strtid)
        rsOpret("Foresporgsel") = Server.HTMLEncode(strforsporgsel)
        rsOpret("Tekst") = Server.HTMLEncode(strbody)
        rsOpret("Dato") = Now()
        rsOpret.Update
        rsOpret("Fid") = "F" & Right("1000000" & rsOpret("ID"), 6)
        rsOpret.Update

        rsOpret.close
        set rsOpret = nothing
Avatar billede aero Nybegynder
06. august 2003 - 21:32 #7
ja ID er den første kolonne i min db ID er auto. og key !!!
Avatar billede eagleeye Praktikant
06. august 2003 - 21:34 #8
prøv som vist
Avatar billede aero Nybegynder
06. august 2003 - 21:49 #9
nej hjælp ikke.

vil du kigge på det hvis jeg sender det til dig !??

så kan jeg lige lave 1 prt scr ang hvordan det skulle se ud i min db nå en ny record gemmes !!
Avatar billede eagleeye Praktikant
06. august 2003 - 21:52 #10
Får du fejl?
Avatar billede eagleeye Praktikant
06. august 2003 - 21:52 #11
Prøv at rette:

rsOpret.open "FSP", cn, 3, 3


Til:

rsOpret.open "FSP", cn, 1
Avatar billede aero Nybegynder
06. august 2003 - 22:02 #12
nej jeg får ikke fejl den vil bare ikke gemme det som F000008 som er ID 8 kun som F000000 som den hele tiden har gjort !!
Avatar billede aero Nybegynder
23. november 2003 - 16:27 #13
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester