Script

Filter
2003-12-11

Systemtabeller

Access
Hemliga koder för systemtabeller i Access
I access finns dolda systemtabeller som håller reda på vilka tabeller, formulär, rapporter mm som databasen innehåller. Microsofts koder för dessa är:

    Objekt             Type
    Tabeller              1
    Länkade tabeller      6
    Formulär         -32768
    Rapporter        -32764
    Frågor                5
    Makron           -32766
    Moduler          -32761

Man kan hämta alla värden i fältet Name för en viss typ av objekt:

select distinctrow Name from MSysObjects where Type = -32764;

(för rapporter)
2009-03-13

Skapa ett XmlHttpRequest-objekt

Ajax
Kollar olika webbläsarversioner och skapar sedan ett XmlHttpRequest-objekt på bästa sätt
function createXmlHttpRequestObject() {
    var xmlHttp;
    try {
        // try to create XMLHttpRequest object
        xmlHttp = new XMLHttpRequest();
    } catch(e) {
        // assume IE6 or older
        var XmlHttpVersions = new Array(
            "MSXML2.XMLHTTP.6.0",
            "MSXML2.XMLHTTP.5.0",
            "MSXML2.XMLHTTP.4.0",
            "MSXML2.XMLHTTP.3.0",
            "MSXML2.XMLHTTP",
            "Microsoft.XMLHTTP"
        );
        // try every prog id until one works
        for (var i = 0; i < XmlHttpVersions.length && !xmlHttp; i++) {
            try {
                xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
            } catch (e) {
                // nothing
            }
        }
    }
    if (!xmlHttp) {
        alert("Error creating the XMLHttpRequest object.");
    } else {
        return xmlHttp;
    }
} 
2012-02-23

Byte av minneskort

Android
För över gamla telefondata till ett nytt minneskort i Android
1. Montera det gamla minneskortet i en kortläsare i en linuxdator
2. Kör kommandot dmesg för att se vilken enhetsbeteckning kortet fick (t ex sde)
3. Skapa en katalog på hårddisken: mkdir /home/namn/telefonkort
4. Skapa en exakt avbildning av kortets innehåll:
dd bs=200M if=<enhet> of=/home/namn/telefonkort/backup.dd conv=notrunc,noerror
5. Avmontera det gamla kortet: umount <enhet> (tex /dev/sde)
6. Montera det nya kortet
7. Kopiera backupen till det nya kortet:
dd bs=200M if=/home/namn/telefonkort/backup.dd of=<enhet> conv=notrunc,noerror
8. Avmontera kortet umount <enhet>
9. Starta parted
10. Lista enheter: print devices
11. Välj enheten: select <enhet>
12. Visa info om enheten: print
13. Byt storlek på enheten: resize (svara på frågorna, enhetsnummer, start föreslaget värde, slut fås från steg 10, ignorera varning.)
14. Avsluta parted: quit
2001-05-29

Generell tabellutskrift

Asp
Skriver ut en hel tabell oavsett hur många fält eller poster
response.write("<tr>")
for i = 0 to rs.fields.count - 1
    response.write("<th>" & rs(i).name & "</th>")
next
response.write("</tr>")
do while not rs.eof
    response.write("<tr>")
    for i = 0 to rs.fields.count - 1
        response.write("<td>" & rs(i) & "&nbsp;</td>")
    next
    response.write("</tr>")
    rs.movenext
loop
2001-08-23

Datumavgränsare för databasen

Asp
Determine, from an existing connection, what datedelimiter you should use. This function checks for Access and if it finds it sets the delimiter to #. If it doesn't it defaults to ' for SQL Server.
<%
' This function takes an open ADODB.Connection object and will
' return the appropriate date delimiter to be used for queries.
' Only Access is checked for... ' is returned o/w. (SQL Server)
Function DateDelimiter(ByRef cnnOpenConnectionObject) ' As String
    Dim strDBMSName
    Dim strDateDelimiter

    strDateDelimiter = "'"

    strDBMSName = cnnOpenConnectionObject.Properties("DBMS Name").Value

    If InStr(1, strDBMSName, "access", 1) Then strDateDelimiter = "#"
    If InStr(1, strDBMSName, "jet", 1) Then strDateDelimiter = "#"

    DateDelimiter = strDateDelimiter
End Function
%>
This allows you to write code like this that will run against either database without any changes. 
<%
' Assuming there's an open connection named cnnOpenConnection,
' the following will produce the appropriate SQL query for
' either Access or SQL Server without any code changes!
Dim strDD
Dim strSQL

strDD = DateDelimiter(cnnOpenConnection)

strSQL = "SELECT * FROM table_name " & _
    "WHERE date_field < " & strDD & Now() & strDD & ";"
%>
🙂