Auf Daten zugreifen (brauche bitte unbedingt hilfe bis morgen)

lorienna

Grünschnabel
okay das hier ist ein notfall und ich bin verzweifelt

vorweg - ich bin absoluter laie in asp



das problem ist folgendes.. wir müssen morgen ein projekt abgeben - dazu gehören zwei asp seiten die noch nicht funktionieren weil wir kaum etwas darüber gelernt haben



die angabe ist recht simpel (accessdatenbank)

es gibt eine projekttabelle in der die projektnummer, kurzbezeichnung, thema... etc drinnen steht

und es gibt eine schülertabelle in der die schülernummer, name, projektnr (beziehung zu projekttabelle) stehen



wir haben nun eine seite die 'proj.asp' heißt

in dieser seite sind nur die kurzbezeichnungen angegeben - und verlinkt auf eine detail.asp in dieser man dann aufgrund der projektnummer die erstlichen projektdaten ausgeben muss - funktioniert auch blendend





<%

sql= "Select * from Projekt;"

set rs = Server.CreateObject("ADODB.Recordset")

rs.Open sql, conn, 3, 3 %>



<table>

<% rs.movefirst

do while not rs.eof %>



<tr height="30">

<td><%=rs("Kurzbezeichnung")%></td>

<td><a href="detail2.asp?Projektnr=<%=rs("Projektnr")%>"> Projekt</a></td>

</tr>



<% rs.movenext

loop %>



</table>






<%

request.querystring("Projektnr")

sql= "Select * from Projekt where Projektnr="&request.querystring("Projektnr")&";"

set rs = Server.CreateObject("ADODB.Recordset")

rs.Open sql, conn, 3, 3 %>



<table>



<tr height="30"> <td><b>Projektnr:</b></td>

<td><%=rs("Projektnr")%></td></tr>



<tr height="30"> <td><b>Thema:</b></td>

<td><%=rs("Thema")%></td></tr>



</table>





das problem ist jetzt, was muss ich tun um in dieser detail.asp mir jetzt auch noch die schülernummer und den schülernamen (sind mehrere) anzeigen zu lassen?

dazu kommt nochd as es eine weitere tabelle gibt



'auftraggeber' und eine tabelle 'auftraggeber projekt' über die projekt und auftraggeber verbunden sind (sprich in der auftraggeber projekt tabelle steht n primärschlüssel, die nummer des projektes und die nummer des auftraggebers (weil es mehr auftraggeber zu einem projekt sein können)



hoffe das war so weit klar, wär total lieb wenn mir irgendjemand helfen könnte, wir stehen unter zeitdruck und brauchen das dringend

vielen vielen dank im vorhinein



lorienna

(leriel@gmx.at)
 
Hi

also Ihr habt folgende Tabellen:

Projket
Auftraggeber
Schüler
Auftraggeber_Projekt

Ich würde mir die Abfragen wie sie sein sollen in Access zusammenklicken und entweder via Copy & Paste das SQL-Statement in den SQL-String der Detailseite setzen oder die Abfragen in Access erstellen und speichern und den SQL-String direkt auf die Abfrage richten.

--> rs.Open sql, conn, 3, 3 %>

brauchst Du eigentlich nicht.

--> rs.Open sql, conn %>

Der Standard reicht für eine einfach Abfrage vollkommen aus.
 
okay erstmal vielen dank für die antwort nur versteh ich das mit den abfragen lider nicht so ganz mit dem sql statement und dem zusammenklicken ^^'''
 
Hi

dies (rot) ist das SQL-Statement

sql= "Select * from Projekt;"

Mit Abfragen zusammenklicken meine ich, in das Programm von Access gehen, die entspr. Datenbank aufrufen, über den Abfrage-Assistenten die entsprechenden Tabellen, die verbunden werden sollen, miteinander verbinden und dann das generierte SQL-Statement in das Script kopieren oder diese Abfrage selbst speichern und diese Abfrage anstelle der Tabelle nutzen. Das geht in ASP/vbscript in Verbindung mit Access.
 
also soetwas wie eine gesamtabfrage das ist genial - angenomemn wir basteln uns so eine abfrage zusammen haben wir das problem das das ganze dann so aussieht:
1 - Projekt A - Thema - Kurzbezeichnung - Schüler1
2 - Projekt A - Thema - Kurzbezeichnung - Schüler2
3 - Projekt A - Thema - Kurzbezeichnung - Schüler 3

sprich wir haben jedes projekt so oft dastehn wie oft es schüler gibt ._.
außerdem.. wenn die gesamtabfrage 'gesamt' heißt (weil sowas haben wir schon)

müsst ich dann eingeben
sql= "Select * from gesamt;" ?

und noch ein kleines problem - wir haben diesen iss server oder wie das ding heißt - das mit 127.0.0.1 c:/inetpub/wwwroot...
aufjedenfall ist da unsere datenbank drinnen udn wei sollte es anders sein, sobald man die datenbank da reinkopiert wird sie schreibgeschützt (hatten wir früher schon) un dsie lässt sich weder bearbeiten, noch löschen (nur öffnen)

kann uns da wer vielleicht helfen?

aufjedenfall vielen dank an luzie die idee ist genial :)
 
Hi

kommt ein Fehler, dass sie schreibgeschützt ist? Wie lautet der Fehler? Welche Fehler-Nummer?

bei http://www.asphelper.de könnt ihr im Link Fehlercode die Nummer eingeben und nachschlagen, was da falsch laufen könnte.

Ganz wichtig ist, darauf zu achten,dass die Recordsets immer schön geschlossen und zerstört werden. Also wenn die Ausgabe abgeschlossen ist, genauso wie die Verbindung zur Datenbank.

Gut, Ihr habe nun eine Abfrage erstellt mit Schüler, vermutlich Brückentabelle und Projekt.

Wenn auf der Detailseite nur ein Projekt aufgerufen wird, dann einfach nur

Response.write rs("projekt")
' -- und hier der Schleife

while not rs.eof
Response.write rs("schueler") & "<br>"
rs.movenext
wend
rs.close
set rs=nothing
conn.close
set conn=nothing
 
die message lautet ganz einach
"die datenbank ist schreibgeschützt" also keine fehlernummer, war aber auch schon früher so..

okay das untere probieren wir dann gleich aus vielen dank :)

*edit*
ein klitze kleines problem gäbe es da noch, außer dieses anzeigen aus der datenbank haben wri nichts mehr in asp gelernt.. wie würde man denn nach einem bestimmten projektnamen bzw einer nummer mit asp suchen?

*edit edit*
woran kann es liegen wenn er
<font face="verdana" size="1"> nie annimmt? die schrift schon aber die größe nicht, nicht mal in css
 
Zuletzt bearbeitet:
Hallo

also mit dem Schreibschutz, da weiss ich jetzt auch keinen schnellen Rat. Gibts denn eine Möglichkeit, die Datenbank per FTP auf den Server zu bekommen?

Nach Datensätzen suchen ist nicht mit 3 Sätzen erklärt.
Hierfür muss ein Wert über ein Formular oder oder eine URL an das SQL-Statement übergeben werden.

bsp. Formular mit einem Textfeld namens suche
Code:
dim myForm
myform = replace(Request.Form("suche"),"'","''")
sql = "select * from Tabelle where suchfeld like "%' & myForm & '%""
[...]

Dies ist nur ein Beispiel. Solche Sachen müssen explicit in das Script eingebaut werden. Es muss hier auch abgefragt werden, ob ein Datensatz vorhanden ist

also

if rs.eof then
Response.write " kein Datensatz da "
else
while not rs.eof
....
' --- Ausgabe der Daten

rs.movenext
wend
end if
rs.close
[...]

Die %-Zeichen nennt man Wildcards. In Verbndung mit dem Operator like kann ein Wortstamm gefunden werden z.B. bei Eingabe von Stamm würde auch Baumstamm gefunden oder Stammtisch.

Aber das sind Grundlagen. Damit muss man sich einfach beschäftigen.

Zur Schrift

Ich würde dies in CSS machen

z.B.

<style type="text/css">
td.stil1 {
font-family : Verdana, Arial, Helvetica, sans-serif;
font-size: 90 %;
color:#000066;
}
</style>

<td class="stil1">text</td>

einfach mal damit experimentieren.
 
Zuletzt bearbeitet:
hatte ich heute auch schon, dieses problem...

also: rechtsklick auf euren subfolder, eigenschaften. kartenfreiter "freigabe", und einstellent "diesen ordner freigeben" (nona... ;-)

dann noch die berechtigungen anklicken und "hinzufügen". da gibt es irgendwo einen "IUSR-computername" (das ist der standarduser von iis), der wird hinzugefügt. (OK).

jetzt müßtet ihr bei den freigaben ein "internetgastkonto" haben. das highlighten (linke maus), und unten die freigabekästchen (lvollzugriff/ändern/lesen) nach bedarf anklicken.

und prost!

norbertz
 
Zurück